我的布局中有ImageView
。我使用setColorFilter()
为该图像设置了一种颜色。现在我尝试使用getColorFilter()
获得相同的颜色。但是它返回了一个ColorFilter
对象。如何从中提取十六进制颜色。
这是我尝试为图像设置颜色的方式:
image.setColorFilter(Color.parseColor("#ECECEC"), PorterDuff.Mode.MULTIPLY);
现在我使用下面的代码返回ColorFilter
对象:
image.getColorFilter()
但是如何从中获取颜色的十六进制值或RGB值?
答案 0 :(得分:4)
似乎获取颜色的方法是隐藏的,原因是google最为人所知:
/**
* Returns the ARGB color used to tint the source pixels when this filter
* is applied.
*
* @see Color
* @see #setColor(int)
*
* @hide
*/
public int getColor() {
return mColor;
}
您可以使用变量来存储:
int colorFilterColor ;
并设置colorFilter:
int color = Color.parseColor("#ECECEC");
image.setColorFilter(color , PorterDuff.Mode.MULTIPLY);
colorFilterColor = color ;
获得颜色:
public int getFilterColor(){
return colorFilterColor ;
}