Android Selector和Shape的使用方法

五迷三道 提交于 2020-02-29 08:06:13

1.背景选择器(位于res/drawable/,使用方法:android:background="@drawable/button_selector") button_selector.xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item
        android:state_pressed="true"
        android:drawable="@drawable/shape_pressed"/>
    <item
        android:state_pressed="false"
        android:drawable="@drawable/shape_normal"/>

</selector>

shape_normal.xml

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

    <!-- 填充的颜色:这里设置背景透明 -->
    <solid android:color="@android:color/transparent" />

    <!-- 边框的颜色 :不能和窗口背景色一样-->
    <stroke
        android:width="1dp"
        android:color="#ffffff" />

    <!-- 设置按钮的四个角为弧形 android:radius 弧形的半径-->
    <corners android:radius="10dip" />

    <!-- padding:Button里面的文字与Button边界的间隔 -->
    <padding
        android:bottom="10dp"
        android:left="40dp"
        android:right="40dp"
        android:top="10dp" />
</shape>

shape_pressed.xml

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

    <!-- 填充的颜色:这里设置背景透明 -->
    <solid android:color="@android:color/transparent" />

    <!-- 边框的颜色 :不能和窗口背景色一样-->
    <stroke
        android:width="1dp"
        android:color="#FF7F00" />

    <!-- 设置按钮的四个角为弧形 android:radius 弧形的半径-->
    <corners android:radius="10dip" />

    <!-- padding:Button里面的文字与Button边界的间隔 -->
    <padding
        android:bottom="10dp"
        android:left="40dp"
        android:right="40dp"
        android:top="10dp" />
</shape>

2.文字颜色选择器(位于res/color/,使用方法: android:textColor="@drawable/text_selector") text_selector.xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:color="#FF7F00" android:state_pressed="true"/>
    <item android:color="#ffffff"/>
</selector>
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!