Как использовать setImageTintList () на Android API
imgView.setImageTintList(getResources().getColorStateList(R.color.my_clr_selector));
Он говорит:вызов требует уровня API 21...
как я могу заставить его работать на устройствах Android ниже API 21?
Я могу заставить его работать с помощью ImageView#setColorFilter()
но я предпочитаю использовать ColorStateList
установить оттенком.
2 ответов
вы должны использовать ImageViewCompat#setImageTintList()
для достижения этой цели. На API 21+, он будет использовать ImageView#setImageTintList()
как и следовало ожидать... и в более старых версиях платформы он будет делегировать AppCompatImageView
который обеспечивает backported реализацию.
ColorStateList csl = AppCompatResources.getColorStateList(context, R.color.my_color_state_list);
ImageViewCompat.setImageTintList(imageView, csl);
теперь это доступно в библиотеке поддержки 25.4.0. См.ссылке
ImageViewCompat.setImageTintList (imageView, colorStateList)