一、选项男生,女生
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图的效果了