imgView.setImageTintList(getResources()
.getColorStateList(R.color.my_clr_selector));
它说“调用需要 API 级别 21”。
如何让它在 API 21 以下的 Android 设备上运行?
我可以通过使用让它工作ImageView#setColorFilter()
但我更喜欢使用ColorStateList
设置色调。
你应该使用ImageViewCompat#setImageTintList() https://developer.android.com/reference/android/support/v4/widget/ImageViewCompat.html#setImageTintList(android.widget.ImageView,%20android.content.res.ColorStateList)为了达成这个。在 API 21+ 上,它将使用ImageView#setImageTintList()
正如您所期望的......在较旧的平台版本上,它将委托给AppCompatImageView
它提供了向后移植的实现。
ColorStateList csl = AppCompatResources.getColorStateList(context, R.color.my_color_state_list);
ImageViewCompat.setImageTintList(imageView, csl);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)