如何为 imageview android 赋予色调颜色?
How to give tint color to imageview android?
我必须以编程方式更改 imageview 的色调。
我将从服务器获取一个字符串值,例如:
"color":"#fff"
我必须为图像视图设置与色调相同的颜色。
下面的代码将不起作用 =,因为 imageview 中的图像没有设置为它的背景,而是设置为 src。
imageView.getBackground().setColorFilter(Color.parseColor("#ff8800"), PorterDuff.Mode.SRC_ATOP);
此外,这些是我尝试过但没有成功。 :(
尝试 1:
ImageViewCompat.setImageTintList(imageView, ColorStateList.valueOf(Integer.parseInt("#ffffff")));
尝试 2:
imageView.setColorFilter(ContextCompat.getColor(context, Color.parseColor("#ffffff")), android.graphics.PorterDuff.Mode.SRC_IN);
尝试 3:
imageView.setColorFilter(ContextCompat.getColor(context, R.color.______), android.graphics.PorterDuff.Mode.MULTIPLY);
请注意,我不能使用 R.color.SOMETHING,因为我的文件中没有那种颜色。
提前致谢。
尝试
imageView.setColorFilter(Color.parseColor("#ffffff"), PorterDuff.Mode.SRC_IN)
Color.parseColor() 的有效颜色格式是
#RRGGBB and #AARRGGBB
我想你知道以下内容,但我还是要声明:如果“#fff”值是 CSS 十六进制颜色代码,那么它是真实代码“#FFFFFFFF”的缩写版本.如果您只传入“#fff”,它将失败,因为 Color.parseColor doesn't know about shortened 3-digit CSS color codes. See CSS HEX Colors.
我必须以编程方式更改 imageview 的色调。 我将从服务器获取一个字符串值,例如:
"color":"#fff"
我必须为图像视图设置与色调相同的颜色。
下面的代码将不起作用 =,因为 imageview 中的图像没有设置为它的背景,而是设置为 src。
imageView.getBackground().setColorFilter(Color.parseColor("#ff8800"), PorterDuff.Mode.SRC_ATOP);
此外,这些是我尝试过但没有成功。 :( 尝试 1:
ImageViewCompat.setImageTintList(imageView, ColorStateList.valueOf(Integer.parseInt("#ffffff")));
尝试 2:
imageView.setColorFilter(ContextCompat.getColor(context, Color.parseColor("#ffffff")), android.graphics.PorterDuff.Mode.SRC_IN);
尝试 3:
imageView.setColorFilter(ContextCompat.getColor(context, R.color.______), android.graphics.PorterDuff.Mode.MULTIPLY);
请注意,我不能使用 R.color.SOMETHING,因为我的文件中没有那种颜色。
提前致谢。
尝试
imageView.setColorFilter(Color.parseColor("#ffffff"), PorterDuff.Mode.SRC_IN)
Color.parseColor() 的有效颜色格式是
#RRGGBB and #AARRGGBB
我想你知道以下内容,但我还是要声明:如果“#fff”值是 CSS 十六进制颜色代码,那么它是真实代码“#FFFFFFFF”的缩写版本.如果您只传入“#fff”,它将失败,因为 Color.parseColor doesn't know about shortened 3-digit CSS color codes. See CSS HEX Colors.