2010-11-22 68 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); 
    } 
}); 
相关问题