如果我像这样使用setColorFilter,它可以使用所选颜色绘制我的图像:
int color = Color.parseColor("#FF0000");
viewHolder.Icon.setColorFilter(color);
但如果我尝试使用资源颜色,它什么都不做:
viewHolder.Icon.setColorFilter(R.color.colorPrimary);
资源定义如下:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="colorPrimary">#FF5722</color>
</resources>
答案 0 :(得分:7)
答案标记为&#34;右&#34;使用不推荐使用的getColor()方法。 这就是为什么这里是最新答案:
int color = ResourcesCompat.getColor(getResources(), R.color.my_color, null);
答案 1 :(得分:4)
试试这个
int actionBarBackground = getResources().getColor(R.color.actionBarBackground);
并在方法setColorFilter中设置actionBarBackground,即所有
答案 2 :(得分:0)
请添加PorterDuff.Mode.MULTIPLY请参阅以下示例
viewHolder.Icon.getDrawable()。setColorFilter(getResources()。getColor(R.color.blue),PorterDuff.Mode.MULTIPLY);