嘿伙计们,所以我想我对最后一个问题不清楚,可能自己找到了解决方案。我一直在寻找一组相互排斥的按钮,一旦单击它们就会保持其更改的背景图像,并将按钮的其余部分恢复为其默认的背景图像。我似乎已经能够通过用单选按钮替换按钮并将其父级设置为单选组来做到这一点。加上简单的更改 xml 可绘制选择器以包含 state_checked = "true" 项目。但是,我现在在尝试在自定义 bg 到单选按钮中包含对齐文本时遇到问题,同时删除其按钮(设置 android:button="@nul" )。这似乎弄乱了对齐方式。有什么想法吗?
布局
<RadioGroup android:id="@+id/options" android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:paddingTop="@dimen/option_button_layout_top_margin" android:paddingBottom="@dimen/option_button_layout_bottom_margin">
<RadioButton android:id="@+id/option_skill" android:text="@string/option_skill" style="@style/option_button"/>
<RadioButton android:id="@+id/option_item" android:text="@string/option_item" style="@style/option_button" android:layout_marginLeft="@dimen/option_button_spacing"/>
</RadioGroup>
样式.xml
<style name='option_button'>
<item name="android:layout_width">@dimen/option_button_size</item>
<item name="android:layout_height">@dimen/option_button_size</item>
<item name="android:button">@null</item>
<item name="android:background">@drawable/option_button</item>
<item name="android:onClick">option_onclick</item>
</style>
可绘制的
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android"
android:constantSize="true"
android:dither="false"
android:variablePadding="false">
<item android:drawable="@drawable/option_button_yellow" android:state_pressed="true"/>
<item android:drawable="@drawable/option_button_yellow" android:state_checked="true"/>
<item android:drawable="@drawable/option_button_white"/>
</selector>