在 Android API < 21 中使用 setImageTintMode

Use setImageTintMode in Android API < 21

我在看 ImagView 教程。它提到了在 Android 的 API 21 中引入的 setImageTintMode 方法。 我的问题是它可以在 API 低于 21 岁时使用(Lollipop)吗?

不行,setImageTintMode 不能用在小于 21 的 API 中。

但是,您可以改用 setColorFilter,因为它可以在所有 API 关卡中使用,并且会产生类似的结果:

imageView.setColorFilter( 0xffff0000, Mode.MULTIPLY )

第二个参数是色调模式,第一个是要应用的色调的颜色。

方法setImageTintMode需要API 21+。

你可以这样使用:

Drawable drawable = imageView.getDrawable();
drawable = DrawableCompat.wrap(drawable);
DrawableCompat.setTintMode(drawable, PorterDuff.Mode.SRC_OVER);