2010-11-22 23 views
14

मैं पहले से ही बटन है:प्रोग्राम के आइकन को प्रोग्रामेटिक रूप से कैसे बदलें?

<Button 
android:layout_height="wrap_content" 
android:layout_width="fill_parent" 
android:drawableLeft="@drawable/empty" 
android:id="@+id/buttonMyText" 
android:text=" myText" 
android:textSize="20px" 
android:gravity="left"> 
</Button> 

जब कार्यक्रम शुरू होता मैं बटन पर "खाली" आइकन शो है।

मुझे क्या करना चाहते हैं स्वतः अपने कोड (कम, मध्यम और उच्च) उपयोगकर्ता इनपुट के आधार पर

मैंने कोशिश से बटन का आइकन बदल रहा है:

Button myButton = bla... bla... bla... 

लेकिन मैं बाहर

आंकड़ा नहीं कर सकते
myButton.(what?) 
+0

उम, बटन आइकन नहीं है? क्या आप एक छविबटन का उपयोग करना चाहते हैं? – Falmarri

उत्तर

39

यदि आप दस्तावेज़ों की जांच करते हैं, तो आप प्रत्येक XML विशेषता के लिए कोड समतुल्य देखेंगे।

यहाँ देखें: http://developer.android.com/reference/android/widget/Button.html

drawableLeft शो के लिए सर्च कर रहे हैं:

android:drawableLeft: 
setCompoundDrawablesWithIntrinsicBounds(Drawable,Drawable,Drawable,Drawable) 
+5

इसके अलावा, पैरामीटर हैं: 'बाएं', 'टॉप',' दाएं ', और' नीचे 'ड्रायबल्स, ताकि आप ड्रॉइंग लेट्स और ड्रॉरेबल राइट्स, टॉप्स, बोटम इत्यादि के लिए एकाधिक ड्रॉबल्स में पास कर सकें या बस पास करें जिन लोगों का आप उपयोग नहीं कर रहे हैं उनके लिए 'शून्य' में। – kcoppock

+0

हाय ब्रोथा, आइकन मेरी गतिविधि पर गायब हो गया है, इसलिए यह काम करता है :) हालांकि, छवि का उपयोग करने के लिए कैसे चुनें? मैंने myButton.setCompoundDrawables (Drawable.createFromPath ("@ drawable/low"), शून्य, शून्य, शून्य) की कोशिश की; और "@" के बिना और केवल "कम" के साथ भी, लेकिन यह अभी भी गायब हो गया है, मैंने पहले से ही अपनी सभी ड्रॉबल्स निर्देशिका – ZiGi

+7

में सभी छवियों को जोड़ा है! मैंने myButton.setCompoundDrawablesWithIntrinsicBounds (drawable.low, 0, 0, 0) का उपयोग किया; धन्यवाद हेप दोस्त! आप एक जीवन बचतकर्ता – ZiGi

6

आप तो इस कोड की कोशिश बटन क्लिक करें घटना पर आइकन को बदलना चाहते हैं ...

buttonMyText.setOnClickListener(new OnClickListener() { 

    @Override 
    public void onClick(View arg0) { 
     buttonMyText.setCompoundDrawablesWithIntrinsicBounds(R.drawable.ImageNameHere, 0, 0, 0); 
     buttonMyText.setTextColor(Color.BLACK); 
    } 
}); 
संबंधित मुद्दे