android:TextView,圆形背景,动态背景色
android:TextView,圆形背景,动态背景色,android,Android,我需要用动态颜色制作圆形背景的文本视图。 我知道如何制作可绘制的背景,但我不知道如何在代码中更改它的颜色 可绘制的bg xml: <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item> <shape android:shape="rectangle" &g
我需要用动态颜色制作圆形背景的文本视图。
我知道如何制作可绘制的背景,但我不知道如何在代码中更改它的颜色 可绘制的bg xml:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape android:shape="rectangle" >
<solid android:color="@color/colorPrimary"></solid>
<corners android:radius="7dp"></corners>
</shape>
</item>
</selector>
我需要的是更改可绘制背景(而不是文本视图)的颜色,其中“holder.mTask.\u catColor”
尝试此操作(其中0xFF00FF00是颜色代码)在您想要更改颜色的条件下更改java代码中的颜色
如果您想在一段时间后更改,您可以设置计时器或使用gif这段代码适合我
Drawable drawable = getResources().getDrawable(R.drawable.yourViewBackground);
drawable.mutate().setColorFilter(your_resolved_color, PorterDuff.Mode.SRC_IN);
yourView.setBackground(drawable);
我以前试过,它删除了可绘制的背景,然后改变了视图的颜色(没有可绘制的背景)?两件事情同时在一个地方结合在一起是怎么可能的?我只需要通过代码更改可绘制背景(xml)中可绘制形状的颜色
public void onBindViewHolder(final ViewHolder holder, int position) {
holder.txt_taskCategory.setText(holder.mTask._catName);
holder.txt_taskCategory.setBackgroundColor( Color.parseColor( holder.mTask._catColor));
//when i do that it remove the drawable background and just color it.
}
v.setBackgroundColor(0xFF00FF00);
Drawable drawable = getResources().getDrawable(R.drawable.yourViewBackground);
drawable.mutate().setColorFilter(your_resolved_color, PorterDuff.Mode.SRC_IN);
yourView.setBackground(drawable);