使用 CompoundDrawable 将背景设置为 TextView
Set background to TextView with CompoundDrawable
我需要制作这样的视图:
我已经有一个 TextView
和 CompoundDrawable
设置者:
textView.setCompoundDrawablesWithIntrinsicBounds(
null,
null,
context.getDrawableCompat(R.drawable.ic_arrow_forward),
null
)
现在我只需要在 TextView's
文本周围添加一个红色圆圈。
这是我的 XML
红色背景:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<solid android:color="@color/red"/>
</shape>
但是由于 CompoundDrawable
箭头,我的 TextView
的大小增加了(文本 + 可绘制),所以当我向我的 TextView
添加一个 android:background
属性时,它适用也指向箭头。
这是它的样子:
有没有办法只将背景设置为 TextView
的文本?
遗憾的是,我找到的唯一解决方案是将可绘制对象与计数器分开并将背景设置为仅计数器。
我需要制作这样的视图:
我已经有一个 TextView
和 CompoundDrawable
设置者:
textView.setCompoundDrawablesWithIntrinsicBounds(
null,
null,
context.getDrawableCompat(R.drawable.ic_arrow_forward),
null
)
现在我只需要在 TextView's
文本周围添加一个红色圆圈。
这是我的 XML
红色背景:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<solid android:color="@color/red"/>
</shape>
但是由于 CompoundDrawable
箭头,我的 TextView
的大小增加了(文本 + 可绘制),所以当我向我的 TextView
添加一个 android:background
属性时,它适用也指向箭头。
这是它的样子:
有没有办法只将背景设置为 TextView
的文本?
遗憾的是,我找到的唯一解决方案是将可绘制对象与计数器分开并将背景设置为仅计数器。