imgView.setImageTintList(getResources()
.getColorStateList(R.color.my_clr_selector));
It says 'Call requires API level 21'.
How can I make it work on Android devices below API 21?
I can make it work by using ImageView#setColorFilter()
but I prefer to use a ColorStateList
to set tint.
You should use ImageViewCompat#setImageTintList()
to achieve this. On API 21+, it will use ImageView#setImageTintList()
as you would expect... and on older platform versions, it will delegate to AppCompatImageView
which provides a backported implementation.
ColorStateList csl = AppCompatResources.getColorStateList(context, R.color.my_color_state_list);
ImageViewCompat.setImageTintList(imageView, csl);
This is now available in Support Library 25.4.0. See Link
ImageViewCompat.setImageTintList(imageView, colorStateList)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With