<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape=[ "rectangle" | "oval" | "line" | "ring" ] >
<gradient
android:angle="integer"
android:centerX="float"
android:centerY="float"
android:startColor="color"
android:endColor="color"
android:centerColor="color"
android:gradientRadius="float"
android:type=[ "linear" | "radial" | "sweep" ]
android:usesLevel=[ "true" | "false" ] />
<solid
android:color="color" />
<stroke
android:width="integer"
android:color="color"
android:dashWidth="integer"
android:dashGap="integer" />
<padding
android:left="integer"
android:top="integer"
android:right="integer"
android:bottom="integer" />
<corners
android:radius="integer"
android:topLeftRadius="integer"
android:topRightRadius="integer"
android:bottomLeftRadius="integer"
android:bottomRightRadius="integer" />
</shape>
android:shape
"rectangle" : 矩形, 默认形状
"oval" : 椭圆
"line" : 水平直线, 需<stroke>元素定义线的宽度
"ring" : 环形
android:innerRadius
Integer : 内环的半径
android:innerRadiusRatio
Float : 以环的宽度比率来表示内环的半径, 可以被 android:innerRadius 覆盖, 默认值是9
android:thickness
Integer : 环的厚度
android:thicknessRatio
Float : 以环的宽度比率来表示环的厚度, 可以被 android:thickness 覆盖, 默认值是3
android:useLevel
Boolean : true 表示可以当作 LevelListDrawable 使用, 一般都为 false
<gradient> 渐变色
android:angle
Integer : 渐变色的角度值, 0 表示从左到右; 90 表示从下到上. 必须是45的倍数, 默认是 0
android:centerX
Float : 渐变色中心的X相对位置(0-1.0). 当 android:type="linear" 时无效
android:centerY
Float : 渐变色中心的Y相对位置(0-1.0). 当 android:type="linear" 时无效
android:centerColor
Color : 可选的颜色, 出现在start和end颜色之间
android:startColor
Color : start颜色
android:endColor
Color : end颜色
android:gradientRadius
Float : 渐变色的半径, 当 android:type="radial" 时有效
android:type
"linear" : 线性渐变, 默认值
"radial" : 环形渐变. start颜色是处于中间的颜色
"sweep" : sweep渐变
android:useLevel
Boolean : "true" 表示可以当作 LevelListDrawable 使用.
<solid> 填充单一色
android:color
Color : 这个颜色会应用到shape
<stroke> 线形
android:width
Integet : 线的宽度
android:color
Color : 线的颜色
android:dashGap
Integet : 间断线间的距离
android:dashWidth
Integet : 间断线的宽度
<padding> 内部元素边距
android:left
Integet : 左内边距
android:top
Integet : 上内边距
android:right
Integet : 右内边距
android:bottom
Integet : 下内边距。
<corners> 圆角, shape 为矩形时有效
android:radius
Integet : 圆角的半径, 会被下面的特性覆盖
android:topLeftRadius
Integet : 左上圆角半径
android:topRightRadius
Integet : 右上圆角半径
android:bottomLeftRadius
Integet : 左下圆角半径
android:bottomRightRadius
Integet : 右下圆角半径
感谢原作者。