2011-11-15 17 views
5

पर बटन पृष्ठभूमि बदलें, जब मैं ऑनटच लिस्टनर का उपयोग किये बिना स्पर्श करता हूं तो मैं बटन की हरे रंग की पृष्ठभूमि को बदलना चाहता हूं। मेरे पास यह स्थिति है: मैंने कुछ परतों को एक परत में रखा है, फिर परत को दूसरी परत में, और दूसरी परत में अंतिम परत। जब मैं बटन को स्पर्श करता हूं तो पृष्ठभूमि बदलती है (मैं अभी ऑनटचलिस्टर का उपयोग कर रहा हूं) लेकिन अगर मैं बटन के बाहर उंगली खींचता हूं और फिर स्क्रीन से बाहर निकलता हूं तो बटन की पृष्ठभूमि स्थिति से राज्य की छवि बनी हुई है (अन्यथा अगर मैं बटन और finnger क्लिक बटन बंद यह)स्पर्श

+0

यदि आप एक्सएमएल शो यू कोड का उपयोग नहीं कर रहे हैं, तो मैं इसे स्पष्ट कर दूंगा .. –

उत्तर

16

1. k पृष्ठभूमि बदल रहा है बटन राज्यों के लिए 3 छवियों को तैयार है, और यह resource/drawable फ़ोल्डर में डाल दिया है।

2., res/drawable/ फ़ोल्डर में एक नया एक्सएमएल फ़ाइल, जो भी नाम में आप चाहते हैं बनाने के इस मामले में, हम सिर्फ my_button.xml के रूप में कोई नाम दें। यह फ़ाइल परिभाषित करती है कि कौन सा बटन स्थिति किस छवि से संबंधित है।

अब, आप इस आईडी को इस आईडी के माध्यम से देख सकते हैं: @ drawable/my_button।

फ़ाइल: res/drawable/my_button.xml

drawable फ़ोल्डर में my_button.xml के साथ इस तरह बटन छवि का उपयोग कर xml फ़ाइल बनाएँ

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

एक सामान्य बटन जोड़ने के लिए, और इसके बाद के संस्करण के लिए पृष्ठभूमि छवि संलग्न के माध्यम से

android:background:@drawable/my_button 
+0

धन्यवाद। क्या आप कृपया मुझे कोड उदाहरण प्रदान कर सकते हैं (मैं अपने गुई बनाने में एक्सएमएल का उपयोग नहीं कर रहा हूं) – moctavianro

+0

मुझे आपको नहीं मिला। –

+0

@ user1021692: उसका मतलब था, आपको अपने बटन टैग में इस एक्सएमएल फ़ाइल का उपयोग करना चाहिए। कृपया इस उत्तर के संपादन को देखें – Hiral

0

"my_button" चयनकर्ता

नीचे के रूप में किया जाएगा
<?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/btn_pressed" /> <!-- pressed --> 
    <item android:state_focused="true" android:drawable="@drawable/btn_focused" /> <!-- focused --> 
    <item android:drawable="@drawable/btn_default" /> <!-- default --> 
</selector> 
+2

कृपया मुझे एक कोड उदाहरण प्रदान करें जो xml एक नहीं है – moctavianro

संबंधित मुद्दे