2012-06-28 13 views
5

से एक्सएमएल चयनकर्ता मान बदलें मैं कई बटनों के लिए एक सार्वभौमिक छवि चयनकर्ता बनाने की कोशिश कर रहा हूं। क्या जावा कोड से एक्सएमएल के "एंड्रॉइड: ड्रॉबल" संसाधन को बदलने का कोई विकल्प है?जावा कोड

+0

जिसके लिए को नियंत्रित आप drawable संसाधन सेट करना चाहते हैं। जैसे बटन या टेक्स्टव्यू – rajpara

उत्तर

25

उपयोग StateListDrawable जावा से बटन drawable सेट कर सकते हैं:

StateListDrawable states = new StateListDrawable(); 
states.addState(new int[] {android.R.attr.state_pressed}, 
    getResources().getDrawable(R.drawable.pressed)); 
states.addState(new int[] {android.R.attr.state_focused}, 
    getResources().getDrawable(R.drawable.focused)); 
states.addState(new int[] { }, 
    getResources().getDrawable(R.drawable.normal)); 

imageView.setImageDrawable(states); //YOUR IMAGE HERE 
//AND FOR BUTTON 
button.setBackgroundDrawable(states);//FOR BUTTON 
+0

छवि देखें? क्या मुझे अपने लेआउट में एक सेट अप करने की ज़रूरत है? – TalMihr

+0

हां आपकी आवश्यकता गतिशील रूप से बनाती है या एक्सएमएल लेआउट –

+0

पर एक छवि दृश्य जोड़ें मैं इसे गतिशील तरीके से कैसे करूं? – TalMihr

3

आप के रूप में कोड द्वारा चयनकर्ता seeting के लिए की तरह

btnSettings.setBackgroundResource(R.drawable.ic_launcher);