用selector设置控件选中和未选中状态的背景图片

一、选项男生,女生

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图的效果了

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章