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 useImageView#setImageTintList()
as you would expect... and on older platform versions, it will delegate toAppCompatImageView
which provides a backported implementation.This is now available in Support Library 25.4.0. See Link
ImageViewCompat.setImageTintList(imageView, colorStateList)