如何动态更改单选按钮的颜色?

时间:2018-12-07 08:57:21

标签: android

我正在尝试在Android应用中构建MCQ Quiz。 我已经提出了问题,现在我想检查答案是否正确。有5个问题,最后有一个提交按钮,一旦用户选择了所有答案并按``提交'',我想更改颜色单选按钮。 如果答案正确,则按钮应为绿色,但如果答案错误,则按钮应为红色,而正确答案应为绿色。

1 个答案:

答案 0 :(得分:0)

如果目标api是> 21,请在检查中使用以下属性以编程方式更改颜色:

yourRadioButton.setBackgroundTintList(context.getResources().getColorStateList(R.color.yourcolor));

否则将按钮设置为

<android.support.v7.widget.AppCompatRadioButton />

并使用以下内容:

yourRadioButton.setSupportButtonTintList(context.getResources().getColorStateList(R.color.yourcolor));

编辑:我要澄清一下您的颜色应该是Color State List Resource。这是通用模板的语法:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
    <item
        android:color="hex_color"
        android:state_pressed=["true" | "false"]
        android:state_focused=["true" | "false"]
        android:state_selected=["true" | "false"]
        android:state_checkable=["true" | "false"]
        android:state_checked=["true" | "false"]
        android:state_enabled=["true" | "false"]
        android:state_window_focused=["true" | "false"] />
</selector>