मैं बटन को छाया से निकालना चाहता हूं ताकि यह अधिक सपाट हो।
मेरे पास अभी यह अधिकार है:
लेकिन मैं यह चाहता हूं:
मैं बटन को छाया से निकालना चाहता हूं ताकि यह अधिक सपाट हो।
मेरे पास अभी यह अधिकार है:
लेकिन मैं यह चाहता हूं:
जवाबों:
एक और विकल्प जोड़ना है
style="?android:attr/borderlessButtonStyle"
अपने बटन xml के रूप में यहाँ पर प्रलेखित http://developer.android.com/guide/topics/ui/controls/button.html
एक उदाहरण होगा
<Button
android:id="@+id/button_send"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/button_send"
android:onClick="sendMessage"
style="?android:attr/borderlessButtonStyle" />
इस टैग को आपके बटन में जोड़ने का एक सरल तरीका है:
android:stateListAnimator="@null"
हालाँकि इसके लिए एपीआई स्तर 21 या अधिक की आवश्यकता होती है।
android:stateListAnimator
विशेषता का उपयोग करने के लिए कोई पिछड़ी संगतता है ?
borderlessButtonStyle
है, जो आपको अधिक लचीलापन देता है।
प्रयत्न : android:stateListAnimator="@null"
सामग्री desing बटन बटन को जोड़ने के लिए xml:
style="@style/Widget.MaterialComponents.Button.UnelevatedButton"
आपके बटन की पृष्ठभूमि के रूप में इसका उपयोग करने से आपकी ज़रूरतों के लिए रंग बदल सकता है
<?xml version="1.0" encoding="utf-8" ?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" >
<shape android:shape="rectangle">
<solid android:color="@color/app_theme_light" />
<padding
android:left="8dp"
android:top="4dp"
android:right="8dp"
android:bottom="4dp" />
</shape>
</item>
<item>
<shape android:shape="rectangle">
<solid android:color="@color/app_theme_dark" />
<padding
android:left="8dp"
android:top="4dp"
android:right="8dp"
android:bottom="4dp" />
</shape>
</item>
</selector>
@ मेरे लिए Alt-Cat जवाब काम!
R.attr.borderlessButtonStyle में छाया नहीं है।
और बटन का दस्तावेज बहुत अच्छा है।
इसके अलावा, आप इस शैली को अपने कस्टम बटन पर, दूसरे कंस्ट्रक्टर में सेट कर सकते हैं।
public CustomButton(Context context, AttributeSet attrs) {
this(context, attrs, R.attr.borderlessButtonStyle);
}
उपरोक्त सभी उत्तर महान हैं, लेकिन मैं एक अन्य विकल्प सुझाऊंगा:
<style name="FlatButtonStyle" parent="Base.Widget.AppCompat.Button">
<item name="android:stateListAnimator">@null</item>
<!-- more style custom here -->
</style>
एक बटन के बजाय, आप एक TextView का उपयोग कर सकते हैं और जावा कोड में एक क्लिक श्रोता जोड़ सकते हैं।
अर्थात
गतिविधि लेआउट में xml:
<TextView
android:id="@+id/btn_text_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/colorPrimaryDark"
android:text="@string/btn_text"
android:gravity="center"
android:textColor="@color/colorAccent"
android:fontFamily="sans-serif-medium"
android:textAllCaps="true" />
गतिविधि जावा फ़ाइल में:
TextView btnTextView = (TextView) findViewById(R.id.btn_text_view);
btnTextView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// handler code
}
});