android shape使用方法

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
    <!-- 背景颜色渐变,angle为渐变切面角度,0为左右渐变90为上下渐变 -->
    <gradient android:startColor="#fff" android:endColor="#000" android:angle="90"/>
    <!-- 背景色,写了背景色之后背景颜色渐变失效,否则渐变色为背景色-->
    <solid android:color="#ff66cc22"/>
    <!-- 描边 -->
    <stroke android:width="4dp" android:color="#ff00ff"/>
    <!-- 边角圆角半径 -->
    <corners android:radius="10dp"/>
    <!-- 周围留白 -->
    <padding 
        android:left="3dp"
        android:right="3dp"
        android:bottom="3dp"
        android:top="3dp"/>

</shape>

1、shape属性:可取的值有rectangle(矩形)、oval(椭圆)、line(直线)、ring(圆环)
当android:shape="ring"时,<shape>节点的后5个属性才有效果
android:innerRadius——指定圆环内圆的半径,比如50dp、100dp之类的。
android:innerRadiusRatio——该值是以比例的形式来指定内圆半径。内圆半径等于该shape的宽除以该值。或者说该值的倒数代表了内圆半径占整个shape宽的比例。默认值是9。当该值等于2的时候,内圆就将占满整个shape,从而我们将看不到圆环。
android:thickness——指定圆环的宽窄,也就是内圆与外圆的距离。
android:thicknessRatio——以比例的形式来指定圆环的宽窄。其算法与innerRadiusRatio相同。
android:useLevel——值为true意味着这是一个levelListDrawable(关于levelListDrawable又是另一个话题了)。当我们要画一个圆环是,应当而且必须将该值设为false,否则会看不到画面。
2、corners属性:只用于矩形(android:shape="rectangle"),用于设置矩形的4个角的圆角半径,生成圆角矩形。
android:radius——同时设置矩形4个角的圆角半径。
android:topLeftRadius——左上角圆角半径
android:topRightRadius——右上角圆角半径
android:bottomLeftRadius——左下角圆角半径
android:bottomRightRadius——右下角圆角半径
这四个单独的设置的值会覆盖android:radius设置的值。
3、padding属性:
此内边距设置显示于该shape之上的内容与该shape的边界的距离。比如如果将该shape设为一个TextView的背景,那么这里的内边距就会影响TextView上文字的位置
4、size属性:
用于矩形时,设置矩形的宽高;
用于椭圆时,设置椭圆外切矩形的宽高,当宽与高相等时,为正圆,否则为椭圆;
用于直线时,宽代表了直线的长度,高没有效果
用于圆环时,宽会影响内圆半径和圆环的宽窄,高没有效果。
当我们将一个shape drawable作为一个View组件的背景或是内容时,通常这个drawable都会被缩放。所以实际显示的时候可能与这里的size设置不相符。
5、solid属性:
solid有“实心的,纯质的”的意思,比如solid gold意为“纯金”,solid color意味“纯色”。
这里这个节点只有一个属性——android:color,用这种颜色来填充该shape内部,如果不设置该shape的边框,就能得到一张纯色的drawable。
6、stroke属性:
stroke有“用笔画出来的轨迹,笔画”的意思,这里指shape的边框。
用于矩形和椭圆时,设置其外边界
用于直线时,呃,直线就是用这个节点来设置的。
用于圆环时,会同时影响内圆和外圆。
android:width——边框线条的宽度,特别地,用于直线时设置直线的粗细。
android:color——设置线条的颜色
android:dashWidth——设置虚线效果里实点的长度
android:dashGap——设置虚线效果里空白点的长度
7、gradient属性:
该节点总共有9个属性,用来设置图形里的颜色渐变效果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值