2010-11-22 96 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 2010-11-22 22:38:56

回答

39

如果您檢查文檔,您會看到每個XML屬性的等效代碼。

在這裏看到:http://developer.android.com/reference/android/widget/Button.html

搜索drawableLeft顯示:

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

另外,按順序,這些參數是:`left`,`top`,`right`,和`bottom`可繪製的,所以你可以傳入多個可繪製的DrawableLeft和drawableRights,tops,bottomoms等。在'null'中爲你不使用的那些。 – kcoppock 2010-11-22 22:45:30

6

,如果你想改變在按鈕單擊事件圖標,然後試試這個代碼...

buttonMyText.setOnClickListener(new OnClickListener() { 

    @Override 
    public void onClick(View arg0) { 
     buttonMyText.setCompoundDrawablesWithIntrinsicBounds(R.drawable.ImageNameHere, 0, 0, 0); 
     buttonMyText.setTextColor(Color.BLACK); 
    } 
}); 
相關問題