【问题标题】:How to give tint color to imageview android?如何为imageview android赋予色调颜色?
【发布时间】:2022-02-02 12:18:37
【问题描述】:

我必须以编程方式更改 imageview 的色调颜色。 我将从服务器获取一个字符串值,例如:

"颜色":"#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 ,因为我的文件中没有那种颜色。

提前致谢。

【问题讨论】:

    标签: java android android-studio android-imageview


    【解决方案1】:

    试试

    imageView.setColorFilter(Color.parseColor("#ffffff"), PorterDuff.Mode.SRC_IN)
    

    Color.parseColor() 的有效颜色格式是

    #RRGGBB 和#AARRGGBB

    我想你知道以下内容,但我还是要说明:如果“#fff”值是 CSS 十六进制颜色代码,那么它是实际代码“#FFFFFFFF”的缩短版本。如果您只传入“#fff”,它将失败,因为Color.parseColor 不知道缩短的 3 位 CSS 颜色代码。见CSS HEX Colors

    【讨论】:

      猜你喜欢
      • 2020-10-19
      • 1970-01-01
      • 2019-04-16
      • 1970-01-01
      • 1970-01-01
      • 2023-03-18
      • 1970-01-01
      • 1970-01-01
      • 2014-09-08
      相关资源
      最近更新 更多