shape与seletor状态选择器

来源:互联网 发布:艾媒大数据 编辑:程序博客网 时间:2024/05/19 21:40

第一种状态

<?xml version="1.0" encoding="utf-8"?>

<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle" >


    <!-- shape:形状.可以制作4种基本的形状.rectangle:矩形 -->


    <!-- corners:角度.radius:半径 -->
    <corners android:radius="5dp" />


    <!-- solid:实心,填充色 -->
    <solid android:color="#E6423B" />


    <!-- gradient:渐变色.angle:0,渐变的方向是左右方向;90:上下方向.startColor,centerColor,endColor:具体的颜色 -->
    <!--
         <gradient
        android:angle="0"
        android:centerColor="#83B74C"
        android:endColor="#E53C37"
        android:startColor="#3A9EFF" />
    -->


    <!-- stroke:描边width:边线的宽度;color:边线的颜色;dashWidth:决定破折号的长度;dashGap:破折号之间的距离 -->
    <stroke
        android:dashGap="6dp"
        android:dashWidth="24dp"
        android:width="2dp"
        android:color="#FCD20A" />


    <!-- padding:留白,间距 -->
    <padding
        android:bottom="10dp"
        android:left="10dp"
        android:right="10dp"
        android:top="10dp" />
    
    <!--size:尺寸  -->
    <!--
         <size android:width="40dp"
        android:height="20dp"/>
    -->

</shape>


第二种状态

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


    <!-- shape:形状.可以制作4种基本的形状.rectangle:矩形 -->


    <!-- corners:角度.radius:半径 -->
    <corners android:radius="5dp" />


    <!-- solid:实心,填充色 -->
    <solid android:color="#E6423B" />


    <!-- gradient:渐变色.angle:0,渐变的方向是左右方向;90:上下方向.startColor,centerColor,endColor:具体的颜色 -->
    <!--
         <gradient
        android:angle="0"
        android:centerColor="#83B74C"
        android:endColor="#E53C37"
        android:startColor="#3A9EFF" />
    -->


    <!-- stroke:描边width:边线的宽度;color:边线的颜色;dashWidth:决定破折号的长度;dashGap:破折号之间的距离 -->
    <stroke
        android:dashGap="6dp"
        android:dashWidth="24dp"
        android:width="2dp"
        android:color="#FCD20A" />


    <!-- padding:留白,间距 -->
    <padding
        android:bottom="10dp"
        android:left="10dp"
        android:right="10dp"
        android:top="10dp" />
    
    <!--size:尺寸  -->
    <!--
         <size android:width="40dp"
        android:height="20dp"/>
    -->




</shape>


<selector xmlns:android="http://schemas.android.com/apk/res/android">


    <!-- selector:状态选择器.常用状态:state_pressed,当点击按钮的时候;state_focused:EditText..;state_enabled:不可用; state_checked:checkbox或者radiobutton; state_selected:选择类型的控件 -->
    <item android:drawable="@drawable/btn_bg_press" android:state_pressed="true"></item>
    <item android:drawable="@drawable/btn_bg_normal" android:state_pressed="false"></item>


</selector>


  <item name="android:background">@drawable/btn_bg_selector</item>




在项目中经常的布局写法

<selector xmlns:android="http://schemas.android.com/apk/res/android">


    <item android:color="@color/colorzi" android:state_selected="true"/>
    <item android:color="@color/light_gray"/>

</selector>


<selector xmlns:android="http://schemas.android.com/apk/res/android">


    <!--<item android:drawable="@mipmap/shujiabai" android:state_checked="true"></item>-->
    <!--<item android:drawable="@mipmap/shujia_hei" android:state_checked="false"></item>-->


    <item android:drawable="@mipmap/shujiabai" android:state_selected="true" />
    <item android:drawable="@mipmap/shujia_hei" android:state_selected="false"/>




</selector>


 

0 0