一、選項男生,女生
1.效果如圖所示:
用selector只需要在代碼中設置setSelected(true):選中狀態,setSelected(true):未選中狀態,當然還有一種方法:用boolean和if else來判斷選中、未選中、設置字體的顏色和控件的背景色,此方法大家應該經常使用此處不做demol。
2.具體做法
步驟一:
在drawable下創建兩個selector類型的xml文件,分別命名是click_man_pic.xml、click_woman_pic.xml和click_textcolor_pressffffff_normalcccccc.xml。
1)click_man_pic.xml代碼如下:
<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android">
<!-- 男生選中的圖片 -->
<item android:drawable="@mipmap/sign_icon_male1" android:state_selected="true"/>
<!--未選中的圖片(默認圖片) -->
<item android:drawable="@mipmap/sign_icon_male"/>
</selector>
如下圖所示:
2)click_woman_pic.xml代碼如下:
<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <!-- 女生選中的圖片 --> <item android:drawable="@mipmap/sign_icon_female1" android:state_selected="true"/> <!--未選中的圖片(默認圖片) --> <item android:drawable="@mipmap/sign_icon_female"/> </selector>
如下圖所示:
3)click_textcolor_pressffffff_normalcccccc.xml代碼如下:
<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <!-- 選中的字體顏色--> <item android:color="#ffffff" android:state_selected="true"/> <!-- 未選中(默認)的字體顏色--> <item android:color="#CCCCCC"/> </selector>
如下圖所示:
步驟二:
在佈局文件中的設置,整個界面佈局就不黏貼了,就黏貼兩個Textview的佈局
<TextView android:id="@+id/tv_man" android:layout_below="@+id/tv_param" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textSize="15sp" android:layout_marginTop="120dp" android:drawablePadding="10dp" android:layout_marginLeft="44dp" android:drawableTop="@drawable/click_man_pic" android:text="@string/strChooseSexMan" android:textColor="@drawable/click_textcolor_pressffffff_normalcccccc" android:gravity="center_horizontal"/> <TextView android:id="@+id/tv_woman" android:layout_below="@+id/tv_param" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textSize="15sp" android:layout_marginTop="120dp" android:drawablePadding="10dp" android:layout_marginRight="44dp" android:layout_alignParentRight="true" android:drawableTop="@drawable/click_woman_pic" android:text="@string/strChooseSexWoman" android:textColor="@drawable/click_textcolor_pressffffff_normalcccccc" android:gravity="center_horizontal"/>
如圖所示:
步驟三:
在代碼中的點擊事件的觸發,如下圖所示
這樣就可實現gif圖的效果了