2012-08-15 12 views
8

संभव डुप्लिकेट:
Change “on” color of a Switchटॉगल बटन का रंग कैसे बदलें?

मैं जब यह लाल (गलत) करने के लिए ग्रीन (सही) से राज्य में परिवर्तन एक ToggleButton परिवर्तन रंग की आवश्यकता है। मैं ToggleButton रंग कैसे बदल सकता हूं?

+0

यह अल है तैयार किया गया और यहां जवाब दिया गया, :) :) http://stackoverflow.com/questions/11253512/change-on-color-of-a-switch/11253636#11253636 – you786

+2

कोई जवाब नहीं है: (( –

उत्तर

-2

सीधे शब्दों में setBackgroundColor का उपयोग करें;)

अद्यतन: यहाँ भी एक शानदार विकल्प है। Standard Android Button with a different color

पेज। सहायता के लिए डाउनवोट क्यों दें?

+12

-1 चूंकि सेटबैकग्राउंड कॉलर बटन की पृष्ठभूमि बदल देगा, न कि टॉगलबटन का चालू/बंद रंग, जिसे पूछा गया था। – you786

20

रेस में colors.xml नामक एक एक्सएमएल बनाएं/महत्व देता फ़ोल्डर:

<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:state_checked="false" android:drawable="@color/red" /> 
    <item android:state_checked="true" android:drawable="@color/green" /> 
</selector> 

व एक्सएमएल अनुभाग में अपने टॉगल को परिभाषित:

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
    <color name="red">#ff0000</color> 
    <color name="green">#00ff00</color> 
</resources> 

drawable फ़ोल्डर में, एक xml फ़ाइल my_btn_toggle.xml बनाने बटन:

<ToggleButton 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="New ToggleButton" 
    android:id="@+id/toggleButton" 
    android:background="@drawable/my_btn_toggle"/> 
+2

यह बहुत अच्छा परिणाम नहीं देता है, क्योंकि यह मानक बटन आयताकार आकार को ओवरराइड करता है। –

+1

यह पूरे बटन को हरे/लाल रंग में बदल देता है। हाइलाइट रंग नहीं। –

+0

यह समाधान सबसे हालिया विषयों पर काम नहीं करता है। –

2
ToggleButton Btn=new ToggleButton(this);// or get it from the layout by ToggleButton Btn=(ToggleButton) findViewById(R.id.IDofButton); 
     Btn.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { 

      public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { 
       // TODO Auto-generated method stub 
       if(isChecked) 
        buttonView.setBackgroundColor(Color.GREEN); 
       else buttonView.setBackgroundColor(Color.RED); 
      } 
     }); 
संबंधित मुद्दे