【问题标题】:Completely change Android ImageView's color with tint color用 tint color 彻底改变 Android ImageView 的颜色
【发布时间】:2014-12-01 03:07:00
【问题描述】:

有没有办法在 Android 中完全改变 ImageView 的颜色?我尝试使用

imageView.getDrawable().setColorFilter(new  PorterDuffColorFilter(0xFFF7962F, PorterDuff.Mode.MULTIPLY));

imageView.setColorFilter(0xFFDDDDDD, PorterDuff.Mode.MULTIPLY);

ImageView 上,带有可绘制的灰色图像,但他们只在现有灰色之上添加了一种颜色,使其看起来有点奇怪。

在 iOS 上你可以这样做

[imageView setImage:[[UIImage imageNamed:@"my_image"] imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate] forState:UIControlStateNormal];
imageView.tintColor = [UIColor redColor];

它将完全删除用于渲染UIImageView 的任何颜色,并用指定的颜色替换“骨架”图像。也许是因为色调总是具有 alpha 透明度?我确实在 alpha 部分指定了0xFF

【问题讨论】:

    标签: android android-drawable android-bitmap


    【解决方案1】:

    您使用了错误的混合模式,MULTIPLY 结合了源颜色和您添加的颜色。你可能想要这个:

    imageView.setColorFilter(0xFFDDDDDD, PorterDuff.Mode.SRC_IN);

    【讨论】:

      猜你喜欢
      • 2011-06-29
      • 2012-05-14
      • 1970-01-01
      • 2013-10-30
      • 1970-01-01
      • 2015-06-23
      • 2020-04-22
      • 2022-10-25
      • 1970-01-01
      相关资源
      最近更新 更多