如何阻止用户检查单选按钮android

时间:2018-06-06 08:21:54

标签: android

所以我有这个按钮:

enter image description here

我想要的是阻止用户检查或取消选中任何一个。无论如何我试过android:enable = "false"但它似乎不是一个解决方案,因为按钮变得褪色,这是我不想要的东西

enter image description here

5 个答案:

答案 0 :(得分:0)

您可以在RadioButton上设置您的drawable:

  <RadioButton
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:button="@drawable/btn_radio"
        android:text="RadioButton" />

<强> btn_radio.xml

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_checked="true" android:state_window_focused="false"
          android:drawable="@drawable/btn_radio_on" />
    <item android:state_checked="false" android:state_window_focused="false"
          android:drawable="@drawable/btn_radio_off" />

    <item android:state_checked="true" android:state_pressed="true"
          android:drawable="@drawable/btn_radio_on_pressed" />
    <item android:state_checked="false" android:state_pressed="true"
          android:drawable="@drawable/btn_radio_off_pressed" />

    <item android:state_checked="true" android:state_focused="true"
          android:drawable="@drawable/btn_radio_on_selected" />
    <item android:state_checked="false" android:state_focused="true"
          android:drawable="@drawable/btn_radio_off_selected" />

    <item android:state_checked="false" android:drawable="@drawable/btn_radio_off" />
    <item android:state_checked="true" android:drawable="@drawable/btn_radio_on" />
</selector>

btn_radio_onbtn_radio_off_selected替换为您自己的drawables。

答案 1 :(得分:0)

设置两个单选按钮clickable="False"

按xml

android:clickable="false"

以编程方式

radiobuttonOne.setClickable(false);
radiobuttonTwo.setClickable(false);

它适合你

答案 2 :(得分:0)

按照您之前的android:enable = "false"操作,但只更改styles.xml中单选按钮的禁用/启用颜色,将这些行添加到您的应用主题:

<item name="colorControlActivated">your_color_for_activated</item>
<item name="colorControlNormal">your_color_for_normal</item>

答案 3 :(得分:0)

RadioButton扩展了CompoundButton

android:clickable="false"
android:enabled="false"
android:checked="true"
android:focusable="false"

答案 4 :(得分:-1)

android:clickable = "false"似乎是问题的答案,但问题是我在实际调用setClickable(true)的按钮上设置onClickListener。我只是在onClickListener之后以编程方式创建它。现在它可以工作