imgView.setImageTintList(getResources()
.getColorStateList(R.color.my_clr_selector));
它说“调用需要API级别21”。
如何在低于API21的Android设备上运行?
我可以使用
ImageView#setColorFilter()
使其工作,但我更喜欢使用ColorStateList
设置色调。 最佳答案
你应该使用ImageViewCompat#setImageTintList()
来实现这一点。在API 21+上,它将使用ImageView#setImageTintList()
正如您所期望的那样…在较旧的平台版本上,它将委托给AppCompatImageView
,后者提供了一个后端口实现。
ColorStateList csl = AppCompatResources.getColorStateList(context, R.color.my_color_state_list);
ImageViewCompat.setImageTintList(imageView, csl);