安卓学习-界面-XML-shap自定义图形

例子1

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
    <!-- 设置背景色 -->
    <solid android:color="#FFE4E1" />
    <!-- 边框颜色 -->
    <stroke android:color="#FF4D40" android:width="1dp"/>
    <!-- 圆角 -->
    <corners android:radius="20px"/>
    <!-- 边距 -->
    <padding android:left="10dp" android:top="10dp" android:right="10dp" android:bottom="10dp"/>
    <!-- 渐变 ndroid:angle是渐变角度,必须为45的整数倍-->
    <!-- 渐变默认的模式为android:type="linear",即线性渐变 -->
   <gradient android:startColor="#ff8c00" android:endColor="#FFFFFF" android:type="linear" android:angle="270" />
</shape>

例子2

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
    <!-- 设置背景色 -->
    <solid android:color="#FFE4E1" />
    <!-- 边框颜色 -->
    <!--android:dashWidth 横线的长度 android:dashGap间隔的距离-->
    <stroke android:color="#FF4D40" android:width="1dp"  android:dashWidth="16dp" android:dashGap="2dp"/>
    <!-- 圆角 -->
    <corners android:radius="20px"/>
    <!-- 边距 -->
    <padding android:left="10dp" android:top="10dp" android:right="10dp" android:bottom="10dp"/>
    <!-- android:type="radial"  android:gradientRadius="100" -->
   <gradient android:startColor="#ff8c00" android:endColor="#FFFFFF" android:type="radial"  android:gradientRadius="100" />
</shape>

例子3

 默认状态

点击后

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
    <item android:state_pressed="true">
        <shape xmlns:android="http://schemas.android.com/apk/res/android" >
            <!-- 设置背景色 -->
            <solid android:color="#FFE4E1" />
            <!-- 边框颜色 -->
            <stroke android:color="#FF4D40" android:width="1dp"/>
            <!-- 圆角 -->
            <corners android:radius="20px"/>
            <!-- 边距 -->
            <padding android:left="10dp" android:top="10dp" android:right="10dp" android:bottom="10dp"/>

        </shape>
    </item>
    <item android:state_selected="true">
        <shape xmlns:android="http://schemas.android.com/apk/res/android" >
            <!-- 边框颜色 -->
            <stroke android:color="#FF4D40" android:width="1dp"/>
            <!-- 圆角 -->
            <corners android:radius="20px"/>
            <!-- 边距 -->
            <padding android:left="10dp" android:top="10dp" android:right="10dp" android:bottom="10dp"/>

        </shape>
    </item>

</selector>
原文地址:https://www.cnblogs.com/weijj/p/3936761.html