DengQN·一个普通程序员;
TextView 动态改变Drawble的背景颜色
2019-06-22 15:56 55
#动态#改变#需要#碰到#颜色#记录#一下#创建#获得

碰到动态改变Drawble的颜色的需要,记录一下

创建一个shape在/drawble/t_shape.xml

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <solid android:color="@color/darkBG"></solid>
    <corners android:radius="4dp"/>
</shape>

然后需要动态改变color

首先要获得Drawble

Drawable tagShapeDrawable = Drawable.createFromXml(context.getResources(), context.getResources().getXml(R.drawable.tag_shape));

然后

tagShapeDrawable.setColorFilter(color, PorterDuff.Mode.SRC_IN);
view.setBackground(tagShapeDrawable);