TextView drawable 设置
布局文件中设置
<TextView
android:id="@+id/tv_encrypt"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:drawableLeft="@mipmap/encrypt_no"
android:drawablePadding="5dp"
android:padding="8dp"
android:text="设为私密" />
android:drawablePadding="5dp" 设置 drawable 的间距 android:drawableLeft="@mipmap/encrypt_no" 设置文本左侧的 drawable 文件
代码中设置
代码中可以使用下面的 API
TextView.setCompoundDrawables(Drawable left, Drawable top, Drawable right, Drawable bottom)
Drawable可以通过下面的方式获取
Drawable rightDrawable = getResources().getDrawable(R.drawable.icon_new);
你按照上面的做了但是发现没有显示,这是因为你没有给 Drawable 指定大小,你还需要加上
drawable.setBounds(0, 0, drawable.getMinimumWidth(), drawable.getMinimumHeight());//必须设置图片大小,否则不显示
整体上是这样的:
Drawable drawable = getResources().getDrawable(R.mipmap.encrypt_no);
drawable.setBounds(0, 0, drawable.getMinimumWidth(), drawable.getMinimumHeight());//必须设置图片大小,否则不显示
tvEncrypt.setCompoundDrawables(drawable, null, null, null);