我使用以下代码:
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代码。
答案 0 :(得分:4)
ColorStateList.valueOf()
采用颜色int,而不是颜色资源int。
改为使用此:
ColorStateList.valueOf(context.getResources().getColor(R.color.blue))
context
是您有权访问的任何Context对象。如果这是活动中的内容,请删除context.
。如果它在视图中,请使用getContext().
。