项目中用到了一个button单选的效果,就用了shape来实现,代码如下:
1.RadioGroup代码
<RadioGroup android:id="@+id/rg_commune_top_tab" android:layout_width="match_parent" android:layout_height="35dp" android:layout_marginLeft="@dimen/activity_horizontal_margin" android:layout_marginRight="@dimen/activity_horizontal_margin" android:layout_marginTop="@dimen/activity_horizontal_margin" android:orientation="horizontal" > <RadioButton android:id="@+id/rb_all" style="@style/commune_detail_rb" android:background="@drawable/selector_commune_detail_top_tab_left" android:text="@string/label_all" /> <RadioButton android:id="@+id/rb_un_feedback" style="@style/commune_detail_rb" android:background="@drawable/selector_commune_detail_top_tab_middle" android:checked="true" android:text="@string/label_un_feedback" /> <RadioButton android:id="@+id/rb_feedback" style="@style/commune_detail_rb" android:background="@drawable/selector_commune_detail_top_tab_right" android:text="@string/label_feedback" /> </RadioGroup>2.左边部分:
<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="@drawable/shape_commune_detail_top_tab_left_press" android:state_checked="true"/> <item android:drawable="@drawable/shape_commune_detail_top_tab_left_default" android:state_checked="false"/> </selector>
default:
<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" > <solid android:color="@color/white" /> <corners android:bottomLeftRadius="5dp" android:topLeftRadius="5dp" /> <padding android:bottom="1dp" android:top="1dp" /> <stroke android:width="1dp" android:color="@color/black" /> </shape>
<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" > <solid android:color="@color/black" /> <padding android:bottom="1dp" android:top="1dp" /> <corners android:bottomLeftRadius="5dp" android:topLeftRadius="5dp" /> <stroke android:width="1dp" android:color="@color/black" /> </shape>
<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="@drawable/shape_commune_detail_top_tab_middle_press" android:state_checked="true"/> <item android:drawable="@drawable/shape_commune_detail_top_tab_middle_default" android:state_checked="false"/> </selector>
default:
<?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <!-- 边框颜色值 --> <item> <shape> <solid android:color="@color/black"/> </shape> </item> <!-- 主体背景颜色值 --> <item android:bottom="1dp" android:top="1dp"> <shape> <solid android:color="@color/white"/> <padding android:bottom="5dp" android:left="5dp" android:right="5dp" android:top="5dp"/> </shape> </item> </layer-list>
<?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <!-- 边框颜色值 --> <item> <shape> <solid android:color="@color/black"/> </shape> </item> <!-- 主体背景颜色值 --> <item android:bottom="1dp" android:top="1dp"> <shape> <solid android:color="@color/black"/> <padding android:bottom="5dp" android:left="5dp" android:right="5dp" android:top="5dp"/> </shape> </item> </layer-list>
<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="@drawable/shape_commune_detail_top_tab_right_press" android:state_checked="true"/> <item android:drawable="@drawable/shape_commune_detail_top_tab_right_default" android:state_checked="false"/> </selector>
效果如下: