逐步更改复选框颜色

时间:2018-09-05 21:59:10

标签: java android checkbox colors

我使用以下代码:

tytMaths = dialog.findViewById(R.id.tytMaths);        
CompoundButtonCompat.setButtonTintList(tytMaths, ColorStateList.valueOf(R.color.blue));

,它变成灰色。 我的colors.xml

    <?xml version="1.0" encoding="utf-8"?>
<resources>
    <color name="colorPrimary">#3F51B5</color>
    <color name="colorPrimaryDark">#303F9F</color>
    <color name="colorAccent">#FF4081</color>

    <color name="blue">#0DFFDC</color>
    <color name="green">#B8FF0D</color>
    <color name="yellow">#FFF90D</color>
    <color name="orange">#FFA00D</color>
    <color name="red">#FF3A0D</color>

</resources>

我该怎么办?看来我的颜色是正确的。我认为问题在于Java代码。

1 个答案:

答案 0 :(得分:4)

ColorStateList.valueOf()采用颜色int,而不是颜色资源int。

改为使用此:

ColorStateList.valueOf(context.getResources().getColor(R.color.blue))

context是您有权访问的任何Context对象。如果这是活动中的内容,请删除context.。如果它在视图中,请使用getContext().