Android中有时需动态设置控件四周的drawble图片,这个时候就需要调用
setCompoundDrawables(left, top, right,
bottom),四个参数类型都是drawable
Button继承TextView,所以可以采用相同的设置方法
方法一.XML方式
<TextView
android:id="@+id/bookTitle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:drawableLeft="@drawable/checkmark"
android:drawableRight="@drawable/checkmark"
android:drawableTop="@drawable/checkmark"
android:gravity="center_vertical"
android:textStyle="bold"
android:textSize="20dip"
android:maxLines="1"
android:ellipsize="end"/>
方法二.JAVA代码
Drawable img_on, img_off;
Resources res = getResources();
img_off = res.getDrawable(R.drawable.btn_strip_mark_off);
//调用setCompoundDrawables时,必须调用Drawable.setBounds()方法,否则图片不显示
img_off.setBounds(0, 0, img_off.getMinimumWidth(), img_off.getMinimumHeight());
btn.setCompoundDrawables(img_off, null, null, null); //设置左图标
【Android】动态设置android:drawableLeft|Right|Top|Bottom,布布扣,bubuko.com
时间: 2024-10-14 09:41:05