【问题标题】:Make radio button stay highlighted when clicked单击时使单选按钮保持突出显示
【发布时间】:2015-02-24 14:53:49
【问题描述】:

我想知道如何使单选按钮在单击时突出显示。

这是我的电台组:

<RadioGroup
    android:layout_width="320dp"
    android:layout_height="50dp"
    android:layout_below="@+id/textView2"
    android:id="@+id/editDay"
    android:background="#abf234"
    android:clickable="true"
    android:checkedButton="@+id/sound"
    android:orientation="horizontal"
    android:layout_centerHorizontal="true">

    <RadioButton
        android:id="@+id/dayOneButton"
        android:layout_width="80dp"
        android:layout_height="50dp"
        android:text="Day 1"
        android:gravity="center"
        android:background="@drawable/yourbuttonbackground"
        android:button="@android:color/transparent"
        android:checked="true"/>

    <RadioButton
        android:id="@+id/dayTwoButton"
        android:layout_width="80dp"
        android:layout_height="50dp"
        android:text="Day 2"
        android:gravity="center"
        android:layout_below="@+id/myRadioGroup"
        android:background="@drawable/yourbuttonbackground"
        android:button="@android:color/transparent"
        android:checked="true"/>

    <RadioButton
        android:id="@+id/dayThreeButton"
        android:layout_width="80dp"
        android:layout_height="50dp"
        android:gravity="center"
        android:text="Day 3"
        android:background="@drawable/yourbuttonbackground"
        android:button="@android:color/transparent"
        android:checked="true"/>

    <RadioButton
        android:id="@+id/dayFourButton"
        android:layout_width="80dp"
        android:layout_height="50dp"
        android:gravity="center"
        android:text="Day 4"
        android:background="@drawable/yourbuttonbackground"
        android:button="@android:color/transparent"
        android:checked="true"/>

</RadioGroup>

这是我的选择器:

<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:state_checked="false" android:state_pressed="false" android:drawable="@drawable/b" />
<item android:state_checked="true"  android:state_pressed="true" android:drawable="@drawable/a" />
<item android:drawable="@drawable/b" /> <!-- default -->

可绘制的选择:

<shape
xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" >
<corners
    android:radius="5dp" />
<solid
    android:color="#fff" />
<stroke
    android:width="2dp"
    android:color="#53aade" />

未选中的可绘制对象:

<shape
xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" >
<corners
    android:radius="5dp" />
<solid
    android:color="#fff" />
<stroke
    android:width="2dp"
    android:color="#555555" />

现在单选按钮只有在我点击它们时才会被高亮显示——我需要它们在我点击它们后保持高亮显示。

谢谢

【问题讨论】:

    标签: android radio-button radio-group android-radiogroup


    【解决方案1】:

    对我来说,选择器似乎是错误的。我认为 @drawable/a 不需要 android:state_pressed 。所以它看起来像这样。

    <selector xmlns:android="http://schemas.android.com/apk/res/android" >
    <item android:state_checked="false" android:state_pressed="false" android:drawable="@drawable/b" />
    <item android:state_checked="true"   android:drawable="@drawable/a" />
    <item android:drawable="@drawable/b" /> <!-- default -->
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-11-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-07-17
      • 1970-01-01
      • 2011-08-22
      • 2021-05-06
      相关资源
      最近更新 更多