一、基本格式及使用
<?xml version=”1.0” encoding=”utf-8”?>
<shape xmlns=”http://schemas.android.com/apk/res/android”>
...
</shape>
二、基本属性
1、corners
<corners//定义圆角
android:radius=”1dp”//全部的圆角半径
android:topLeftRadius=”1dp”//左上角的圆角半径
android:topRightRadius=”1dp”//右上角的圆角半径
android:bottomLeftRadius=”1dp”//左下角的圆角半径
android:bottomRightRadius=”1dp”//右下角的圆角半径
/>
2、solid
<solid//定义内部填充色
android:color=”#ffffff”//填充色的颜色
/>
3、gradient
<gradient//定义渐变填充色
android:type=”radial”//渐变类型:线性渐变(默认)linear,放射性渐变radial,扫描式渐变sweep
android:angle=”45”//渐变角度,必须45的倍数(含0),type=”linear”有效
android:centerX=”0.5”//渐变中心X的相当位置,范围0~1,0.5为居中
android:centerY=”0.5”//渐变中心Y的相当位置,范围0~1,0.5为居中
android:startColor=”#ffffff”//渐变开始点的颜色
android:centerColor=”#ffffff”//渐变中间点的颜色
android:endColor=”#ffffff”//渐变结束点的颜色
android:gradientRadius=”5dp”//渐变的半径,type=”radial”有效
android:useLevel=”false”//设置为false(默认)时才有渐变效果,使用 LevelListDrawable时就要设置true
/>
4、stroke
<stroke
android:width=”1dp”//描边的宽度
android:color=”#ffffff”//描边的颜色
//以下两个属性设置虚线,缺一不可
android:dashWidth=”1dp”//每一段虚线的长度
android:dashGap=”1dp”//每一段虚线间隔的长度
/>
5、size
<size
android:width=”10dp”//图形的宽度
android:height=”10dp”//图形的高度
/>
6、padding
<padding
android:left=”1dp”//内部左边距
android:right=”1dp”//内部右边距
android:top=”1dp”//内部上边距
android:bottom=”1dp”//内部下边距
/>
三、shape的属性
android:shape=”rectangle”//图形形状,矩形(默认)rectangle,椭圆形oval,线性形状line,环形形状ring
android:shape=”ring”时
android:innerRadius=”1dp”//内环的半径
android:innerRadiusRatio=”2.3”//以环的宽度比率来表示内环的半径
android:thickness=”3dp”//环的宽度
android:thicknessRatio=”2.3”//以环的宽度比率来表示环的厚度
其他
android:useLevel=”false”//作用同上
android:dither=”true”//将在位图的像素配置与屏幕不同时启用位图的抖动,默认true
android:tint=”#ffffff”//给shape着色
android:tintMode=”src_in”//着色类型:src_in|src_atop|src_over|add|multiply|screen
android:viseable=”true”//是否可见,默认true