我在android中有一个自定义单选按钮。 它的工作正常。我的问题是,当我按下这些按钮时,它不会变灰。我怎么能这样做?这是我的自定义单选按钮的示例代码。
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_checked="true" android:drawable="@drawable/radio_select" />
<item android:state_checked="false" android:drawable="@drawable/radio_holo" />
</selector>
以下是我在布局中使用的代码
<RadioButton
android:id="@+id/radioButton2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:button="@drawable/custom_radio_button"
android:onClick="OnClick"
android:text="button 1"
android:textAppearance="?android:attr/textAppearanceSmall"
android:textColor="@color/black" />
还有一件事我需要文字外观小而普通的文字颜色为黑色。
答案 0 :(得分:0)
尝试将此添加到custom_radio_button.xml:
<item android:state_enabled="false" android:drawable="@drawable/your_grayed_out_btn" />
答案 1 :(得分:0)
如果您需要根据RadioButton
的状态更改文字颜色,请尝试编写选择器,如this答案所示。
答案 2 :(得分:0)
请注意选择器项中的属性,因为它是逻辑AND。
表示是否在项目中放入了 android:state_checked =“ false” 和 android:state_enabled =“ true” 。只有当两者都为真时,它才起作用。以下代码在选中,未选中和已禁用状态下正常工作。
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/ic_radio_btn_inactive" android:state_checked="false" android:state_enabled="true"/>
<item android:drawable="@drawable/ic_radio_btn_active" android:state_checked="true" android:state_enabled="true"/>
<item android:drawable="@drawable/ic_radio_btn_diabled" android:state_enabled="false"/>
</selector>