上周五工作时遇到了一个需求,要求顶部有三个单选按钮,按下其中一个按钮时,该按钮的背景颜色及文本颜色均发生改变。
首先考虑用了RadioGroup,控件里面设置了三个RadioButton,水平排列。
<RadioGroup
android:id="@+id/radioGroup1"
android:layout_width="150dp"
android:layout_height="match_parent"
android:layout_centerInParent="true"
android:orientation="horizontal" >
</RadioGroup>
RadioButton其他属性的设置就暂且不提,比较简单。
我在设计实现需求的时候,同样是考虑使用selector,这样代码会简洁直观方便。
一开始我是这样写selector的:将文字颜色和背景颜色分开,写两个selector。
背景颜色selector如下所示:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state