2011-09-11 11 views
12

बटन क्लिक करने के बाद मैं अपने बटन के दाईं ओर एक छवि सेट करने का प्रयास कर रहा हूं। मैं कोड के माध्यम से ऐसा करना चाहता हूँ।मैं कोड के माध्यम से drawableRight संसाधन कैसे सेट कर सकता हूं?

मैंने देखा है कि कोड के माध्यम से पृष्ठभूमि संसाधन को कैसे बदला जाए, लेकिन मुझे कोई उदाहरण नहीं मिल रहा है कि कोड के माध्यम से किनारों को कैसे बदला जाए। क्या यह संभव है?

+0

साइड चेंज से आपका क्या मतलब है ?, बटन क्लिक करने से पहले बटन के बाईं तरफ आपकी छवि थी? –

+0

यह दाईं तरफ है और यह एक लाल बिंदु है। मैं इसे क्लिक पर हरा बदलना चाहता हूं। (यह एक टॉगल बटन है) –

+4

setCompoundDrawablesWithIntrinsicBounds संबंधित सवाल: http://stackoverflow.com/questions/4250923/how-to-change-a-buttons-icon-programmatically – Erdal

उत्तर

29

आप किसी भी है कि आवश्यक नहीं हैं के लिए अशक्त साथ

public void setCompoundDrawables (Drawable left, Drawable top, Drawable right, 
Drawable bottom) 

विधि का उपयोग करने की जरूरत है।

+0

के रूप में Erdal द्वारा बताया ... – eyespyus

+6

मैं इसे करने में सक्षम था: \t \t \t \t बटन_drill.setCompoundDrawablesWithIntrinsicBounds (0, 0, R.drawable.ic_button_green, 0); या क्या मुझे Drawables का उपयोग करना चाहिए और मेरे संसाधन को एक ड्रॉबल में बदलना चाहिए? –

+7

शायद आप 'setCompoundDrawablesWithIntrinsicBounds' का उपयोग करना चाहते हैं। अन्य विधि के साथ आपको पैरामीटर के रूप में पास करने से पहले ड्रायबल्स पर 'सेटबाउंड' को कॉल करना होगा, अन्यथा उन्हें सही ढंग से प्रस्तुत नहीं किया जाएगा (बिल्कुल दिखाई नहीं देगा) – janos

7

आमतौर पर आप का उपयोग कर इस

Drawable draw = getResources().getDrawable(R.drawable.facebook); 
myButton.setCompoundDrawablesWithIntrinsicBounds(null, null, draw, null); 

बारे में पता आप बटन पाठ को याद कर सकते हैं हो सकता है बदल सकते हैं।

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

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