TextView drawable 设置

2017-10-24  本文已影响331人  numqin

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);
上一篇 下一篇

猜你喜欢

热点阅读