2012-05-08 27 views
5

在XML中,我们可以用这种方式设置drawableLeft:是否可以通过编程设置drawableLeft?

<Button 
    android:id="@+id/previewBtn" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:background="@drawable/white_btn" 
    android:drawableLeft="@drawable/green_circle" 
    android:drawablePadding="16dp" 
    android:text="Button" /> 

如何做同样的事情编程?

回答

16

是,使用setCompoundDrawablesWithIntrinsicBounds

,并定义为绘制的第一个参数,然后0所有其他人。

代码应该是这个样子:

Button b = findViewById(R.id.myButton); 

b.setCompoundDrawablesWithIntrinsicBounds(R.drawable.myDrawable, 0, 0, 0); 

如果您绘制在代码中创建,以及那么你需要使用其他setCompoundDrawablesWithIntrinsicBounds方法,需要4个图形内容和传递null为所有,但左。

相关问题