api 9的android getColorFilter()

时间:2015-01-06 12:47:42

标签: android colors imagebutton colorfilter

我的活动中有一个图像按钮,我用功能setColorFilter()设置了它的颜色过滤器,出于某种原因我想要恢复颜色并比较它以做一些功能,我试过了使用getColorFilter()但它适用于api 16及以上版本且我目前以api 9为目标,是否有任何方法或其他功能在api 9上执行此操作?

2 个答案:

答案 0 :(得分:0)

您可以使用DrawableCompat.getColorFilter(Drawable drawable),它是从24.1.0版开始添加到支持库中的。

您需要将支持库添加到build.gradle的依赖项块中才能使用,如下所示:

dependencies {
    implementation "com.android.support:support-compat:28.0.0"
}

答案 1 :(得分:-1)

没有直接获取滤镜的方法。但是你可以通过其他方式得到它,比如设置滤色器时必须将标签设置为与图像按钮相同的对象,然后通过调用getTag()方法得到它。

示例:

//While setting        
imageButton.setColorFilter(colorFilter);
imageButton.setTag(colorFilter);

//While retrieving
ColorFilter colorFilter = (ColorFilter) imageButton.getTag();