Tint Icons in Android for pre Lollipop
Tint icons were first seen on Android Lollipop. The same can now be done on previous versions too with the help of Support Libraries.
Here’s on how to tint your icons:
1. Retrieve your drawable and wrap it first. Then set the tint
Drawable drawable = getyourdrawablehere; drawable = DrawableCompat.wrap(drawable); DrawableCompat.setTint(drawable, Color.GREEN);
2. Set the Tint mode
DrawableCompat.setTintMode(drawable, PorterDuff.Mode.SRC_IN);
If you want to retrieve the original drawable, don’t forget to unwrap using DrawableCompat.unwrap()
.
Product Designer who occasionally writes code.
Hey thanks for your awesome tip.
One issue that I had applying exactly your approach, you can see in the image uploaded.
So I this fix changing the tint mode to:
DrawableCompat.setTintMode(drawable, PorterDuff.Mode.SRC_IN);
I Hope I can help someone with the same kind of issue.
Thank you buddy.
Delighted to be of help.
Thanks for dropping in your code snippet too. I’m sure a lot of people will benefit.