设置滤色器不适用于自定义颜色

时间:2019-07-17 07:37:59

标签: android imageview

我有一个黑色的png图像,并将其设置为图像视图。我有一个彩色十六进制#EFA78E。然后,我用

将十六进制字符串转换为colorInt
int color = Color.parseColor(#EFA78E);

之后,我将颜色设置为imageview

imageView.setColorFilter(color);

它显示透明图像。我已经尝试了PorterDuff.Mode的所有模式,但无法正常工作。

1 个答案:

答案 0 :(得分:0)

您可以使用

imageView.setColorFilter(Color.parseColor("#EFA78E"), PorterDuff.Mode.SRC_IN);
imageView.setImageResource(yourImage);

如果它不起作用,您还可以使用xml中的android:tint属性来实现相同目的。

<ImageView
   ... 
   android:tint="#EFA78E"/>