如何获取CheckBox背景色

时间:2017-04-08 23:51:09

标签: android

我想通过将自定义颜色设置为背景来突出显示CheckBox,然后将该颜色淡化为原始背景颜色。

问题是我不知道如何获得" colorTo"对于ValueAnimator。 CheckBox甚至可以称为背景吗?或者它只是一个复选框旁边的文字?

Checkbox是在运行时创建的,即通​​过调用其构造函数。我只设置了它的文本和一个onClick处理程序,我没有设置它的bg。

1 个答案:

答案 0 :(得分:2)

是的,它有背景。由于您在运行时创建它,因此未设置背景,因此它是透明(除非在Style中另有定义)。

要暂时突出显示按钮,您可以设置所需的高光颜色,并将颜色从突出显示颜色设置为背景颜色,或者只是将其设置为透明颜色 - > "#00000000"

P.S:您可能不需要这个,但要获得view的背景颜色,您可以这样做:

int color;
Drawable background = view.getBackground().mutate();

if (background instanceof ColorDrawable) {
   color = ((ColorDrawable)view.getBackground()).getColor();
}

mutate()将克隆你的背景,所以如果你在多个地方使用这个背景,随着背景的改变,其他背景不会改变。