android shape,layer-list图形

1. 常用节点

  

<?xml version="1.0" encoding="utf-8"?>
<shape
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape=["rectangle" | "oval" | "line" | "ring"] >
    <corners    //圆角
        android:radius="integer"
        android:topLeftRadius="integer"
        android:topRightRadius="integer"
        android:bottomLeftRadius="integer"
        android:bottomRightRadius="integer" />
    <gradient    //渐变
        android:angle="integer"
        android:centerX="integer"
        android:centerY="integer"
        android:centerColor="integer"    //颜色变化 从 startColor -> centerColor -> endColor
        android:endColor="color"
        android:gradientRadius="integer"  // 当 type="radial" 是使用, 设置渐变半径
        android:startColor="color"
        android:type=["linear" | "radial" | "sweep"]  // 渐变类型 线性 | 径向(从中心发散) | 扫描(环形渐变)
        android:useLevel=["true" | "false"] />
    <padding    
        android:left="integer"
        android:top="integer"
        android:right="integer"
        android:bottom="integer" />
    <size
        android:width="integer"
        android:height="integer" />
    <solid    //内容填充的颜色
        android:color="color" />
    <stroke    //边框
        android:width="integer"
        android:color="color"
        android:dashWidth="integer"
        android:dashGap="integer" />
</shape>

 

Android 在4.1之前 shape的背景是黑色的(若需要达到自定义的颜色, 将solid设置为背景颜色), 4.1之后 默认背景是透明的

 

2. layer-list

<?xml version="1.0" encoding="utf-8"?>
<layer-list
    xmlns:android="http://schemas.android.com/apk/res/android" >
    <item
        android:drawable="@[package:]drawable/drawable_resource"
        android:id="@[+][package:]id/resource_name"
        android:top="dimension"    //相对上一级的偏移量
        android:right="dimension"
        android:bottom="dimension"
        android:left="dimension" />
</layer-list>

 

eg

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

    <item>
        <shape android:shape="rectangle">
            <gradient
                android:centerX="0.5"
                android:centerY="0.5"
                android:endColor="#0F000000"
                android:startColor="#FFF"
                android:type="sweep"/>
            <corners
                android:radius="6dp"/>
        </shape>
    </item>

    <item
        android:left="50dp"
        android:right="50dp"
        android:top="50dp">
        <shape android:shape="rectangle">

            <padding
                android:bottom="50dp"
                android:left="50dp"
                android:right="50dp"
                android:top="50dp"/>

            <corners android:radius="10dp"/>

            <solid
                android:color="#ffffe79e"/>

            <stroke
                android:width="1dp"
                android:color="#ff5743ff"
                android:dashGap="5dp"
                android:dashWidth="10dp"/>
        </shape>

    </item>

</layer-list>

上面产生的效果  

 

参考链接: http://developer.android.com/intl/zh-cn/guide/topics/resources/drawable-resource.html

posted on 2015-07-16 11:39  Iori_z  阅读(328)  评论(0)    收藏  举报

导航