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);

07-24 09:49