使用TextView的drawableLeft属性,在TextView左侧放置一个图片。可以修改图片的大小
第一步:在xml里
<TextView
android:id="@+id/tv_circle_name"
style="@style/textStyleDp_16"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:drawableLeft="@drawable/circle_release_unselect_circle_image"
android:text="选择圈子(必选)" />
第二步:drawable的circle_release_unselect_circle_image
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:drawable="@drawable/ic_unselect_circle"
android:width="@dimen/dp_24"
android:height="@dimen/dp_24"
/>
</layer-list >
到这里已经可以了,但是有时候的需求是我们需要动态的修改这个图片,方法如下:
我们首先获取需要更换的图片资源:
Drawable drawable = getResources().getDrawable(R.drawable.ic_position_selected);
然后根据setBounds属性,设置边界:
drawable.setBounds(0, 0, drawable.getMinimumWidth(), drawable.getMinimumHeight());
最后给textview设置值:
// param 左上右下
tvCircleName.setCompoundDrawables(drawable, null, null, null);
至此全部完成