我想通过将自定义颜色设置为背景来突出显示CheckBox,然后将该颜色淡化为原始背景颜色。
问题是我不知道如何获得" colorTo"对于ValueAnimator。 CheckBox甚至可以称为背景吗?或者它只是一个复选框旁边的文字?
Checkbox是在运行时创建的,即通过调用其构造函数。我只设置了它的文本和一个onClick处理程序,我没有设置它的bg。
答案 0 :(得分:2)
是的,它有背景。由于您在运行时创建它,因此未设置背景,因此它是透明(除非在Style中另有定义)。
要暂时突出显示按钮,您可以设置所需的高光颜色,并将颜色从突出显示颜色设置为背景颜色,或者只是将其设置为透明颜色 - > "#00000000"
P.S:您可能不需要这个,但要获得view
的背景颜色,您可以这样做:
int color;
Drawable background = view.getBackground().mutate();
if (background instanceof ColorDrawable) {
color = ((ColorDrawable)view.getBackground()).getColor();
}
mutate()
将克隆你的背景,所以如果你在多个地方使用这个背景,随着背景的改变,其他背景不会改变。