How to get tint color from ImageView via code
如何通过代码从ImageView中获取android:tint=""颜色?
- 我认为setImageTintList()是您想要的:这里
-
哦,对不起我的错误。检查这个答案
-
@ mt0s不是设置而是获取
-
是的,我错过了。然后getColorFilter()应该为您工作
-
@ mt0s我不知道如何从ColorFilter对象获取颜色。
-
getImageTintList()是否不适用于您?它会返回一个ColorStateList,但是您可以在其上调用getDefaultColor()。
-
@MikeM。 getImageTintList的"通话要求API 23"。很奇怪,因为色调是适合的。
-
是的,我认为您正在处理API> = 23,因为您指定了直接的ImageView。不管怎么说,tint属性可以与AppCompatImageView一起使用,但是设置后我找不到任何简单的方法来获取它。他们可能在appcompatpat中省略了getImageTintList(),因为这是各种各样的帮助器类的混乱,只是为了在所有受支持的版本上正确设置它。如果有任何发现,我会通知您。
要在所有Android版本上获取色彩,请使用ImageViewCompat:
1
| int color = ImageViewCompat.getImageTintList(yourImageView).getDefaultColor(); |