selector背景选择器文字选择器

一:常规的使用按下和正常生活图片的更改

1,在res/drawble下创建selector的xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
    <item android:drawable="@mipmap/icon_titilebar_message_right_pre" android:state_focused="true" android:state_pressed="false" />
    <item android:drawable="@mipmap/icon_titilebar_message_right_pre" android:state_pressed="false" android:state_selected="true" />
    <item android:drawable="@mipmap/icon_titilebar_message_right_pre" android:state_pressed="true" />
    <item android:drawable="@mipmap/icon_titilebar_message_right_pre" android:state_checked="true" />
    <item android:drawable="@mipmap/icon_titilebar_message_right_nor"></item>
</selector>

2,xml中每个空间设置background属性即可


                    <TextView
                        android:visibility="gone"
                        android:id="@+id/tv_drug_detail_jiyao"
                        android:layout_width="50dp"
                        android:layout_height="20dp"
                        android:layout_marginRight="10dp"
                        android:background="@drawable/selsctor_bg_drug_detailbe"
                        android:gravity="center"
                        android:text="基药"
                        android:textColor="@color/color_3e6398"
                        android:textSize="@dimen/text_font_13" />

到此完成

二:有些时候需求是不要图片而只要一个边框等等(其实性质是一样的,只是我们自己画)

1,看selector的xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_selected="true">
        <!--按下的时候,显示的长方形(相当于ui给我们的pictrue只是这里自己画了一个图片)-->
        <shape android:shape="rectangle">
            <corners android:bottomLeftRadius="@dimen/padding_5" android:bottomRightRadius="@dimen/padding_0" android:topLeftRadius="@dimen/padding_5" android:topRightRadius="@dimen/padding_0" />
            <stroke android:width="0.5dp" android:color="@color/color_7791cd" />
            <solid android:color="@color/color_7791cd"  />
        </shape>
    </item>
    <item>
        <shape android:shape="rectangle">
            <corners android:bottomLeftRadius="@dimen/padding_5" android:bottomRightRadius="@dimen/padding_0" android:topLeftRadius="@dimen/padding_5" android:topRightRadius="@dimen/padding_0" />
            <stroke android:width="0.5dp" android:color="@color/color_7791cd" />
            <solid android:color="@color/color_ffffff"  />
        </shape>
    </item>
</selector>

2,布局中引用


                <TextView
                    android:id="@+id/linear_drug_detail_info_down"
                    android:layout_width="0dp"
                    android:layout_height="30dp"
                    android:layout_weight="1"
                    android:background="@drawable/selector_tab_drug_detail_left"
                    android:gravity="center"
                    android:text="医保信息"
                    android:layout_marginRight="-0.5dp"
                    android:textColor="@drawable/selector_color_3e6398"
                    android:textSize="@dimen/text_font_15" />

三:有些时候文字颜色也需要跟着变化

1,文字颜色的selector

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:color="@color/color_ffffff" android:state_selected="true">
    </item>
    <item android:color="@color/color_ffffff" android:state_pressed="true">
    </item>
    <item android:color="@color/color_ffffff" android:state_focused="true">
    </item>
    <item android:color="@color/color_3e6398">
    </item>

</selector>

2,xml文件中引用

       <TextView
                    android:id="@+id/linear_drug_detail_info_down"
                    android:layout_width="0dp"
                    android:layout_height="30dp"
                    android:layout_weight="1"
                    android:background="@drawable/selector_tab_drug_detail_left"
                    android:gravity="center"
                    android:text="医保信息"
                    android:layout_marginRight="-0.5dp"
                    android:textColor="@drawable/selector_color_3e6398"
                    android:textSize="@dimen/text_font_15" />

猜你喜欢

转载自blog.csdn.net/tongzhengtong/article/details/52198327