Android xml 深入解析shape

来源:互联网 发布:sql和mysql学哪个 编辑:程序博客网 时间:2024/06/05 05:09


先简单介绍一下shape的基本属性:

<shape>
            <!-- 实心 -->
            <solid android:color=""/>
            <!-- 渐变 -->
            <gradient
                android:startColor=""
                android:endColor=""
                android:angle="" />
            <!-- 描边 -->
            <stroke
                android:width=""
                android:color="" />
            <!-- 圆角 -->
            <corners
                android:radius="" />
            <padding
                android:left="10dp"
                android:top="10dp"
                android:right="10dp"
                android:bottom="10dp" />
        </shape>

solid:实心,就是填充的意思
android:color指定填充的颜色

gradient:渐变
android:startColor和 Android:centercolor,android:endColor分别为起始和中间、结束颜色,ndroid:angle是渐变角度,必须为45的整数倍
另外渐变默认的模式为android:type="linear",即线性渐变,可以指定渐变为径向渐变,android:type="radial",径向渐变需要指定半径android:gradientRadius="50"。
但是径向渐变有时不起作用。
stroke:描边
android:width="2dp" 描边的宽度,android:color 描边的颜色。
我们还可以把描边弄成虚线的形式,设置方式为:
android:dashWidth=""
android:dashGap=""
其中android:dashWidth表示虚线的宽度,android:dashGap表示之间隔开的距离。

corners:圆角
android:radius为角的弧度,值越大角越圆。
我们还可以把四个角设定成不同的角度,方法为:
<corners
        android:topRightRadius="20dp"    右上角
        android:bottomLeftRadius="20dp"    右下角
        android:topLeftRadius="1dp"    左上角
        android:bottomRightRadius="0dp"    左下角
 />

padding:间隔
通过shape就可以自定义形状了,今天介绍一个shape小应用。

有时我们会去复写一些控件,但是对于初学者来说就是比较麻烦而且容易出错,那该怎么办呢?其实我们可以把shape作为控件背景然后让shape的颜色和控件一样,那样就可以实现类似的圆角listview等等。。。比复写控件就简单多了


如有问题请留言,若转载注明出处。

2 0
原创粉丝点击