How to use setImageTintList() on Android API < 21

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)