图标禁用的时候变灰,然后正常的时候变黑,本来打算用selector写,但是需要俩个图标,突然想到tint,试着用代码设置tint。
就用到了DrawableCompat 这个兼容的帮助类,以前没注意到这些类,看来要了解一下。
1 首先说下DrawableCompat .setTint(),其实就是我们xml使用的tint,但是设置之后原来图标的颜色也变了,如何返回回去?原来在这个类中有俩个方法wrap和unwrap方法,其实在api源码上注释已经介绍很详细
但是当我使用的时候,发现还是返回不到原来的颜色,然后百度了一下,发现人们都能用,这就神奇了,我开始怀疑我的代码问题,研究了一会也没问题,这时候考虑是不是版本的问题,我当前用的是android7.1的手机,继续查看源码。
当调用clearColorFilter,发现还是没用,这就神奇了,按理说这是常见的需求啊,我就纳闷了,我觉得还是应该答案就在DrawableCompat,接着看源码,
原来如此,心中万千曹尼玛,设置个null,就能清除。
当然还有很多要研究的,比如刚才wrap方法在6.0以下是不是起作用,下班了,明天研究,就到这里。
以上有不正确的,还望见谅,请指出