एक अलग रंग के साथ मानक Android बटन


735

मैं एक ग्राहक के ब्रांडिंग से बेहतर मिलान करने के लिए एक मानक एंड्रॉइड बटन का रंग थोड़ा बदलना चाहता हूं।

मुझे अब तक ऐसा करने का सबसे अच्छा तरीका यह है कि हम Buttonड्रॉबल को ड्रॉबल में स्थित में बदल दें res/drawable/red_button.xml:

<?xml version="1.0" encoding="utf-8"?>    
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_pressed="true" android:drawable="@drawable/red_button_pressed" />
    <item android:state_focused="true" android:drawable="@drawable/red_button_focus" />
    <item android:drawable="@drawable/red_button_rest" />
</selector>

लेकिन ऐसा करने की आवश्यकता है कि मैं वास्तव में प्रत्येक बटन के लिए तीन अलग-अलग ड्राअबल्स बनाना चाहता हूं जिन्हें मैं अनुकूलित करना चाहता हूं (एक बटन बाकी पर, एक जब ध्यान केंद्रित किया जाता है, और एक जब दबाया जाता है)। मुझे लगता है की तुलना में अधिक जटिल और गैर-DRY लगता है।

मैं वास्तव में करना चाहता हूँ बटन पर रंग परिवर्तन के कुछ प्रकार लागू होते हैं। क्या मेरे द्वारा किए जा रहे बटन के रंग को बदलने का एक आसान तरीका है?


जवाबों:


723

मुझे पता चला कि यह सब एक फाइल में काफी आसानी से किया जा सकता है। नाम की फ़ाइल में निम्न कोड जैसा कुछ रखें custom_button.xmlऔर फिर background="@drawable/custom_button"अपने बटन दृश्य में सेट करें:

<?xml version="1.0" encoding="utf-8"?>
<selector
    xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:state_pressed="true" >
        <shape>
            <gradient
                android:startColor="@color/yellow1"
                android:endColor="@color/yellow2"
                android:angle="270" />
            <stroke
                android:width="3dp"
                android:color="@color/grey05" />
            <corners
                android:radius="3dp" />
            <padding
                android:left="10dp"
                android:top="10dp"
                android:right="10dp"
                android:bottom="10dp" />
        </shape>
    </item>

    <item android:state_focused="true" >
        <shape>
            <gradient
                android:endColor="@color/orange4"
                android:startColor="@color/orange5"
                android:angle="270" />
            <stroke
                android:width="3dp"
                android:color="@color/grey05" />
            <corners
                android:radius="3dp" />
            <padding
                android:left="10dp"
                android:top="10dp"
                android:right="10dp"
                android:bottom="10dp" />
        </shape>
    </item>

    <item>        
        <shape>
            <gradient
                android:endColor="@color/blue2"
                android:startColor="@color/blue25"
                android:angle="270" />
            <stroke
                android:width="3dp"
                android:color="@color/grey05" />
            <corners
                android:radius="3dp" />
            <padding
                android:left="10dp"
                android:top="10dp"
                android:right="10dp"
                android:bottom="10dp" />
        </shape>
    </item>
</selector>

42
पृष्ठभूमि रंग के लिए यह अच्छी तरह से काम करता है - क्या आप उसी तरह पाठ का रंग निर्धारित कर सकते हैं?
राचेल

8
यह मुझे देता है "Error: No resource found that matches the given name (at 'color' with value '@color/yellow1')" क्या ये संदर्भ रंगों में निर्मित हैं? लगता है मुझे इस काम को करने के लिए एक Res / मान / color.xml की आवश्यकता है
हैरी वुड

8
@HarryWood आपको अपने रेस / मान / color.xml में उन रंगों को परिभाषित करना होगा। वैकल्पिक रूप से, उन्हें "# ff0000", "# 00ff00", परीक्षण प्रयोजनों के लिए @ cfarm54 द्वारा प्रतिस्थापित करें। उस फ़ाइल को Res / drawable / custom_button.xml फ़ोल्डर में डाला जाना है @emmby कोड स्निपेट के लिए धन्यवाद!
एस्पिनची

17
महान सूचक, धन्यवाद! अन्य लोगों के लिए भी ध्यान दें, यह कोशिश करते हुए, चयनकर्ता में वस्तुओं का क्रम महत्वपूर्ण है। यदि आप <आइटम> को बिना किसी स्टेट फिल्टर्स के पहले फाइल में रखते हैं तो यह बाकी को ओवरराइड करता है।
मिकरोवाल

9
इस कार्य को करने के लिए, अपने Res / "drawable" फ़ोल्डर में custom_button.xml डालें - और इन सामग्रियों के साथ एक फ़ाइल Res / मान / रंग / xml बनाएं: stackoverflow.com/questions/3738886/… - दोनों फ़ाइल में रंग के नाम बदलें इसे बनाने के लिए
sami

308

टोमाज़ के उत्तर के बाद, आप प्रोग्रामर को पूरे बटन के शेड को पोर्टरडफ मल्टीप्ल मोड का उपयोग करके सेट कर सकते हैं। यह सिर्फ रंग के बजाय बटन का रंग बदल देगा।

यदि आप एक मानक ग्रे छायांकित बटन के साथ शुरू करते हैं:

button.getBackground().setColorFilter(0xFFFF0000, PorterDuff.Mode.MULTIPLY);

आपको एक लाल छायांकित बटन देगा,

button.getBackground().setColorFilter(0xFF00FF00, PorterDuff.Mode.MULTIPLY);

आपको हरे रंग का छायांकित बटन आदि देगा, जहां पहला मूल्य हेक्स प्रारूप में रंग है।

यह आपके रंग मूल्य से वर्तमान बटन रंग मूल्य को गुणा करके काम करता है। मुझे यकीन है कि इन विधियों से आप बहुत कुछ कर सकते हैं।


2
वाह, बस कोशिश की कि यह और यह पूरी तरह से शानदार है। धन्यवाद! क्या आपको पता है कि अगर किसी तरह इसे xml के माध्यम से पूरा करने का कोई तरीका है?
एम्मी

4
दोस्तों, एचटीसी की इच्छा पर इसकी जाँच करें! उनके पास अलग-अलग मानक बटन हैं। इस कोड का उपयोग करने वाले मेरे बटन वहां विस्मयकारी दिखते हैं, जब "40dp" जैसे एक निश्चित लेआउट_ एक्सपोज़र सेट किया जाता है। "Wra_content" के साथ यह ठीक है।
वनवर्ल्ड

5
पुष्टि की, यह समाधान एचटीसी सेंस यूआई पर बहुत अच्छी तरह से काम नहीं करता है
एमएमबी

19
ग्रहण इसे एक संभावित फिक्स के रूप में नहीं दिखाता है:import android.graphics.PorterDuff;
कोई व्यक्ति

2
किसी को भी आईसीएस में काम नहीं करने के साथ कोई समस्या है? यह मेरे लिए एमुलेटर या फोन पर काम नहीं करता है ..
Stev_k

149

माइक, आप रंग फिल्टर में रुचि हो सकती है।

एक उदाहरण:

button.getBackground().setColorFilter(new LightingColorFilter(0xFFFFFFFF, 0xFFAA0000));

जिस रंग को आप चाहते हैं उसे प्राप्त करने के लिए यह प्रयास करें।


सेटकोलरफिल्टर विधि में अशक्त गुजरने की कोशिश करें। यह कोशिश नहीं की है, लेकिन यह काम करना चाहिए।
टॉमाज़

6
@Pacerier को परेशान करने के लिए: button.getBackground ()। ClearColorFilter ();
स्टेन कुर्दिज़ल

3
मैं रंग वर्ग का उपयोग करके रंग चुनने की सलाह देता हूं: developer.android.com/reference/android/graphics/Color.html
मोगेन

अंधेरे विषयों के लिए बिल्कुल सही! मेरा मानना ​​है कि अन्य शीर्ष उत्तर (setColorFilter (0xFFFF0000, PorterDuff.Mode.MULTIPLY)) प्रकाश विषयों के लिए बेहतर काम करता है।
java.is.for.desktop 19

85

यह मेरा समाधान है जो पूरी तरह से एपीआई 15 से शुरू होता है । यह समाधान सामग्री की तरह सभी डिफ़ॉल्ट बटन क्लिक प्रभाव रखता हैRippleEffect । मैंने इसे निचले एपीआई पर परीक्षण नहीं किया है, लेकिन यह काम करना चाहिए।

आपको बस इतना करना है:

1) एक शैली बनाएं जो केवल बदलती है colorAccent:

<style name="Facebook.Button" parent="ThemeOverlay.AppCompat">
    <item name="colorAccent">@color/com_facebook_blue</item>
</style>

मैं ThemeOverlay.AppCompatआपकी AppThemeबाकी शैलियों को बनाए रखने के लिए माता-पिता के रूप में या आपके मुख्य का उपयोग करने की सलाह देता हूं ।

2) इन दो लाइनों को अपने buttonविजेट में जोड़ें :

style="@style/Widget.AppCompat.Button.Colored"
android:theme="@style/Facebook.Button"

कभी-कभी आपका नया colorAccent एंड्रॉइड स्टूडियो पूर्वावलोकन में दिखाई नहीं देता है, लेकिन जब आप अपना ऐप फोन पर लॉन्च करते हैं, तो रंग बदल दिया जाएगा।


नमूना बटन विजेट

<Button
    android:id="@+id/sign_in_with_facebook"
    style="@style/Widget.AppCompat.Button.Colored"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_gravity="center"
    android:text="@string/sign_in_facebook"
    android:textColor="@android:color/white"
    android:theme="@style/Facebook.Button" />

कस्टम रंग के साथ नमूना बटन


1
यह लाइन क्या करती है? "style =" @ style / Widget.AppCompat.Button.Colored ""
चार्ल्स ली

2
इससे मुझे शैली और विषय के बीच के अंतर को समझने में मदद मिली। धन्यवाद।
रपटबी

2
स्वीकृत उत्तर सही है लेकिन बहुत पुराना है। यह एक सरल है और अधिकांश उत्तर तिथि तक है।
正宗 布鞋

इस उत्तर के साथ मुद्दा यह है कि सेटिंग colorAccentबटन की पृष्ठभूमि से अधिक प्रभावित करती है।
ब्लेंक

उदाहरण के लिए @Blcknx क्या है?
RediOne1

61

अब आप भी appcompat-v7 का उपयोग कर सकते हैं AppCompatButton साथ backgroundTintविशेषता:

<android.support.v7.widget.AppCompatButton
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    app:backgroundTint="#ffaa00"/>

4
मेरे लिए "android:" नामस्थान का उपयोग करके काम नहीं किया। लेकिन यह तब काम आया जब मैंने इसके बजाय "ऐप:" नाम स्थान का उपयोग किया।
डेविड वेलास्केज़

@DavidVelasquez जो मेरे लिए एंड्रॉइड लॉलीपॉप पर काम करता था जबकि एंड्रॉइड: नेमस्पेस ने कुछ भी नहीं बदला। सहायता के लिए धन्यवाद!
अविनाश प्रभाकर

यह सबसे सरल उपाय है और स्वीकृत उत्तर होना चाहिए। Android का उपयोग करना: बैकग्राउंड मेरे लिए काम करता है।
रामाशीष बरनवाल

1
AppCompat का उपयोग करते समय app:backgroundTintइसके बजाय होना चाहिए android:backgroundTint
हाफिज दिवांदरी

23

मुझे @conjugatedirection और @Tomasz से पिछले उत्तरों में रंग फिल्टर सुझाव पसंद है; हालाँकि, मैंने पाया कि अब तक प्रदान किया गया कोड उतनी आसानी से लागू नहीं हुआ जितना मुझे उम्मीद थी।

सबसे पहले, यह उल्लेख नहीं किया गया था कि रंग फ़िल्टर कहां लागू करें और साफ़ करें। यह संभव है कि ऐसा करने के लिए अन्य अच्छी जगहें हों, लेकिन मेरे लिए जो बात दिमाग में आई वह थी एक OnTouchListener

मूल प्रश्न के मेरे पढ़ने से, आदर्श समाधान वह होगा जिसमें कोई चित्र शामिल न हो। @Emmby से custom_button.xml का उपयोग कर स्वीकार किए गए उत्तर शायद रंग फिल्टर की तुलना में एक बेहतर फिट है यदि यह आपका लक्ष्य है। मेरे मामले में, मैं यूआई डिजाइनर से एक पीएनजी छवि के साथ शुरू कर रहा हूं जो कि बटन जैसा दिखने वाला है। यदि मैं इस छवि के लिए बटन पृष्ठभूमि सेट करता हूं, तो डिफ़ॉल्ट हाइलाइट प्रतिक्रिया पूरी तरह से खो जाती है। यह कोड उस व्यवहार को एक प्रोग्रामेटिक डार्कनिंग प्रभाव से बदल देता है।

button.setOnTouchListener(new OnTouchListener() {
    @Override
    public boolean onTouch(View v, MotionEvent event) {
        switch (event.getAction()) {
            case MotionEvent.ACTION_DOWN:
                // 0x6D6D6D sets how much to darken - tweak as desired
                setColorFilter(v, 0x6D6D6D);
                break;
            // remove the filter when moving off the button
            // the same way a selector implementation would 
            case MotionEvent.ACTION_MOVE:
                Rect r = new Rect();
                v.getLocalVisibleRect(r);
                if (!r.contains((int) event.getX(), (int) event.getY())) {
                    setColorFilter(v, null);
                }
                break;
            case MotionEvent.ACTION_OUTSIDE:
            case MotionEvent.ACTION_CANCEL:
            case MotionEvent.ACTION_UP:
                setColorFilter(v, null);
                break;
        }
        return false;
    }

    private void setColorFilter(View v, Integer filter) {
        if (filter == null) v.getBackground().clearColorFilter();
        else {
            // To lighten instead of darken, try this:
            // LightingColorFilter lighten = new LightingColorFilter(0xFFFFFF, filter);
            LightingColorFilter darken = new LightingColorFilter(filter, 0x000000);
            v.getBackground().setColorFilter(darken);
        }
        // required on Android 2.3.7 for filter change to take effect (but not on 4.0.4)
        v.getBackground().invalidateSelf();
    }
});

मैंने कई बटन के लिए एक अलग वर्ग के रूप में इसे निकाला - केवल विचार प्राप्त करने के लिए अनाम आंतरिक वर्ग के रूप में दिखाया गया।


यह एक महान समाधान था! ज्यादातर उसी तरह से प्रभावित करते हैं जैसे आप iOS पर डिफ़ॉल्ट रूप से प्राप्त करते हैं जो कि डिजाइनरों की तरह है :-)
क्रिस्टर नॉर्डविक

मैं एक ही पृष्ठभूमि के साथ एक ही स्क्रीन में 2 बटन के साथ यह कोशिश की है और प्रभाव दोनों बटन पर लागू होता है
नासमझ

16

यदि आप XML के साथ रंगीन बटन बना रहे हैं, तो आप एक अलग फ़ाइल में ध्यान केंद्रित और दबाए गए राज्य को निर्दिष्ट करके कोड को थोड़ा क्लीनर बना सकते हैं और उनका पुन: उपयोग कर सकते हैं। मेरा हरा बटन इस तरह दिखता है:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:state_focused="true" android:drawable="@drawable/button_focused"/>
    <item android:state_pressed="true" android:drawable="@drawable/button_pressed"/>

    <item>
        <shape>
            <gradient android:startColor="#ff00ff00" android:endColor="#bb00ff00" android:angle="270" />
            <stroke android:width="1dp" android:color="#bb00ff00" />
            <corners android:radius="3dp" />
            <padding android:left="10dp" android:top="10dp" android:right="10dp" android:bottom="10dp" />
        </shape>
    </item>

</selector>

1
अच्छा। बटन के लिए मानक एंड्रॉइड परिभाषाओं पर ध्यान केंद्रित और दबाया गया राज्य कैसे बना सकता है?
लार्हम 1

मुझे पूरा यकीन है कि आप मानक एंड्रॉइड बटन को 9-पैच बिटमैप के रूप में लागू नहीं करते हैं।
haemish

12

सबसे छोटा समाधान जो किसी भी Android संस्करण के साथ काम कर रहा है:

<Button
     app:backgroundTint="@color/my_color"

नोट्स / आवश्यकताएँ :

  • का प्रयोग करें app:नाम स्थान और नहींandroid: नेमस्पेस का!
  • appcompat संस्करण> 24.2.0

    निर्भरताएँ {संकलन 'com.android.support:appcompat-v7:25.3.1'}

स्पष्टीकरण : यहां छवि विवरण दर्ज करें


1
दिलचस्प है, मेरे लिए app:backgroundTint="@color/my_color"काम नहीं किया। android:backgroundTint="@color/my_color"हालांकि पूरी तरह से काम किया।
इगोर

यह मेरे लिए सबसे छोटा और सबसे साफ समाधान है और बस इतना ही।
मार्टी

11

मैं इस दृष्टिकोण का उपयोग कर रहा हूं

style.xml

<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
    <item name="android:colorPrimaryDark">#413152</item>
    <item name="android:colorPrimary">#534364</item>
    <item name="android:colorAccent">#534364</item>
    <item name="android:buttonStyle">@style/MyButtonStyle</item>
</style>

<style name="MyButtonStyle" parent="Widget.AppCompat.Button.Colored">
    <item name="android:colorButtonNormal">#534364</item>
    <item name="android:textColor">#ffffff</item>
</style>

जैसा कि आप ऊपर से देख सकते हैं, मैं अपने बटन के लिए एक कस्टम शैली का उपयोग कर रहा हूं। बटन का रंग उच्चारण रंग से मेल खाता है। मुझे यह निर्धारित करने की तुलना में बहुत बेहतर दृष्टिकोण लगता है android:backgroundक्योंकि मैं Google द्वारा प्रदान किए गए तरंग प्रभाव को नहीं खोऊंगा।


8

अब बहुत आसान तरीका है: android-holo-colors.com

यह आपको आसानी से सभी होलो ड्रॉबल (बटन, स्पिनर, ...) के रंग बदलने देगा। आप रंग का चयन करते हैं और फिर सभी संकल्पों के लिए एक ज़िप फ़ाइल डाउनलोड करते हैं जिसमें ड्रॉबल्स होते हैं।



4

में <Button>उपयोग android:background="#33b5e5"। या और अच्छाandroid:background="@color/navig_button"


3

DroidUX घटक पुस्तकालय एक है ColorButtonतो आप भले ही आपका ऐप अनुमति देता बटन के रंग / विषय स्थापित करने के लिए उपयोगकर्ता दे सकते हैं, विजेट जिसका रंग एक्सएमएल परिभाषा के माध्यम से और प्रोग्राम के रूप में चलाने के समय में दोनों, आसानी से बदला जा सकता है।


3

आप अपने बटन http://angrytools.com/android/button/ को अनुकूलित करने के लिए इस ऑनलाइन टूल का भी उपयोग कर सकते हैं और android:background="@drawable/custom_btn"अपने लेआउट में अनुकूलित बटन को परिभाषित करने के लिए उपयोग कर सकते हैं।


2

आप अपने बटन का विषय इस पर सेट कर सकते हैं

<style name="AppTheme.ButtonBlue" parent="Widget.AppCompat.Button.Colored">
 <item name="colorButtonNormal">@color/HEXColor</item>
 <item name="android:textColor">@color/HEXColor</item>
</style>

1

एक आसान तरीका सिर्फ एक कस्टम बटन वर्ग को परिभाषित करना है जो सभी गुणों को स्वीकार करता है जो आप चाहते हैं जैसे त्रिज्या, ढाल, दबाया हुआ रंग, सामान्य रंग आदि और फिर बस XML का उपयोग करके पृष्ठभूमि सेट करने के बजाय अपने XML लेआउट में इसका उपयोग करें। एक नमूना यहाँ है

यह अत्यंत उपयोगी है यदि आपके पास एक ही गुण जैसे त्रिज्या, चयनित रंग आदि के साथ बहुत सारे बटन हैं। आप अपने अतिरिक्त गुणों को संभालने के लिए अपने विरासत वाले बटन को अनुकूलित कर सकते हैं।

परिणाम (कोई पृष्ठभूमि चयनकर्ता का उपयोग नहीं किया गया था)।

सामान्य बटन

सामान्य छवि

बटन दबाया

यहां छवि विवरण दर्ज करें


0

जिस तरह से मैं एक अलग स्टाइल का बटन करता हूं, वह बटन ऑब्जेक्ट को उप-वर्ग करने और कलर फिल्टर लगाने का काम करता है। यह बटन पर अल्फ़ा लागू करके सक्षम और अक्षम अवस्थाओं को भी संभालता है।

import android.annotation.TargetApi;
import android.content.Context;
import android.graphics.Color;
import android.graphics.ColorFilter;
import android.graphics.LightingColorFilter;
import android.graphics.drawable.Drawable;
import android.graphics.drawable.LayerDrawable;
import android.os.Build;
import android.util.AttributeSet;
import android.widget.Button;

public class DimmableButton extends Button {

    public DimmableButton(Context context) {
        super(context);
    }

    public DimmableButton(Context context, AttributeSet attrs) {
        super(context, attrs);
    }

    public DimmableButton(Context context, AttributeSet attrs, int defStyle) {
        super(context, attrs, defStyle);
    }

    @SuppressWarnings("deprecation")
    @Override
    public void setBackgroundDrawable(Drawable d) {
        // Replace the original background drawable (e.g. image) with a LayerDrawable that
        // contains the original drawable.
        DimmableButtonBackgroundDrawable layer = new DimmableButtonBackgroundDrawable(d);
        super.setBackgroundDrawable(layer);
    }

    @TargetApi(Build.VERSION_CODES.JELLY_BEAN)
    @Override
    public void setBackground(Drawable d) {
        // Replace the original background drawable (e.g. image) with a LayerDrawable that
        // contains the original drawable.
        DimmableButtonBackgroundDrawable layer = new DimmableButtonBackgroundDrawable(d);
        super.setBackground(layer);
    }

    /**
     * The stateful LayerDrawable used by this button.
     */
    protected class DimmableButtonBackgroundDrawable extends LayerDrawable {

        // The color filter to apply when the button is pressed
        protected ColorFilter _pressedFilter = new LightingColorFilter(Color.LTGRAY, 1);
        // Alpha value when the button is disabled
        protected int _disabledAlpha = 100;
        // Alpha value when the button is enabled
        protected int _fullAlpha = 255;

        public DimmableButtonBackgroundDrawable(Drawable d) {
            super(new Drawable[] { d });
        }

        @Override
        protected boolean onStateChange(int[] states) {
            boolean enabled = false;
            boolean pressed = false;

            for (int state : states) {
                if (state == android.R.attr.state_enabled)
                    enabled = true;
                else if (state == android.R.attr.state_pressed)
                    pressed = true;
            }

            mutate();
            if (enabled && pressed) {
                setColorFilter(_pressedFilter);
            } else if (!enabled) {
                setColorFilter(null);
                setAlpha(_disabledAlpha);
            } else {
                setColorFilter(null);
                setAlpha(_fullAlpha);
            }

            invalidateSelf();

            return super.onStateChange(states);
        }

        @Override
        public boolean isStateful() {
            return true;
        }
    }

}

0

मूल्यों \ styles.xml

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
</style>

<style name="RedAccentButton" parent="ThemeOverlay.AppCompat.Light">
    <item name="colorAccent">#ff0000</item>
</style>

फिर:

<Button
    style="@style/Widget.AppCompat.Button.Colored"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="text" />

<Button
    style="@style/Widget.AppCompat.Button.Colored"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:enabled="false"
    android:text="text" />

<Button
    style="@style/Widget.AppCompat.Button.Colored"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="text"
    android:theme="@style/RedAccentButton" />

<Button
    style="@style/Widget.AppCompat.Button.Colored"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:enabled="false"
    android:text="text"
    android:theme="@style/RedAccentButton" />

परिणाम


0

सामग्री डिजाइन दिशानिर्देशों के अनुसार, आपको नीचे दिए गए कोड जैसी शैली का उपयोग करने की आवश्यकता है

<style name="MyButton" parent="Theme.AppCompat.Light>
    <item name="colorControlHighlight">#F36F21</item>
    <item name="colorControlHighlight">#FF8D00</item>
</style>

और लेआउट में इस गुण को अपने बटन में जोड़ें

    android:theme="@style/MyButton"

0

इसका सरल .. अपनी परियोजना में इस निर्भरता को जोड़ें और 1. किसी भी आकार के साथ एक बटन बनाएं। किसी भी रंग 3. किसी भी सीमा 4. सामग्री प्रभाव के साथ

https://github.com/manojbhadane/QButton

<com.manojbhadane.QButton
       android:layout_width="match_parent"
       android:layout_height="wrap_content"
       android:text="OK"
       app:qb_backgroundColor="@color/green"
       app:qb_radius="100"
       app:qb_strokeColor="@color/darkGreen"
       app:qb_strokeWidth="5" />
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.