<shape
xmlns:android="[http://schemas.android.com/apk/res/android](http://schemas.android.com/apk/res/android)"
android:shape=["rectangle" | "oval" | "line" | "ring"] >
</shape>
shape属性:
android:shape:
rectangle: 矩形,默认的形状,可以画出直角矩形、圆角矩形、弧形等
oval: 椭圆形,大多用来画圆形。
line: 线形,可以画实线和虚线
ring: 环形,可以画环形进度条
android:tint:给shape着色
android:tintMode:着色模式。
android:dither:是否启用抖动技术。值为false和true,默认true。(Dithering是一种图像算法,在不同色域的显示屏上修正颜色)。
android:visible:可见与不可见。
android:useLevel:true则可在LevelListDrawable中使用,但通常不会显示。默认“false”。
android:thickness:环的厚度,指内环与外环的环间距。(shape为ring可用)
android:thicknessRatio:浮点型,以环的宽度比率来表示环的厚度,默认为9,表示环的厚度为环的宽度除以9,该值会被android:thickness覆盖(shape为ring可用)
android:innerRatio:内环半径(shape为ring可用)
android:innerRadiusRatio:浮点型,以环的宽度比率来表示内环的半径,默认为3,表示内环半径为环的宽度除以3,该值会被android:innerRadius覆盖(shape为ring可用)
shape标签下的基本属性(corners、gradient、padding、size、solid、stroke)
corners定义圆角
<corners
android:radius="20dp"//全部的圆角半径
android:topLeftRadius="10dp"//左上角的圆角半径
android:topRightRadius="10dp"
android:bottomLeftRadius="10dp"
android:bottomRightRadius="10dp" />
//其中radius与其它四个并不能共同使用
gradient:用以定义渐变色
<gradient
android:type=["linear" | "radial" | "sweep"] //共有3中渐变类型,线性渐变(默认)/放射渐变/扫描式渐变
android:angle="integer" //渐变角度,必须为45的倍数,0为从左到右,90为从上到下
android:centerX="float" //渐变中心X的相当位置,范围为0~1
android:centerY="float" //渐变中心Y的相当位置,范围为0~1
android:startColor="color" //渐变开始点的颜色
android:centerColor="color" //渐变中间点的颜色,在开始与结束点之间
android:endColor="color" //渐变结束点的颜色
android:gradientRadius="float" //渐变的半径,只有当渐变类型为radial时才能使用
android:useLevel=["true" | "false"] /> //使用LevelListDrawable时就要设置为true。设为false时才有渐变效果
solid:用以指定内部填充色
stroke:描边属性,可以定义描边的宽度,颜色,虚实线等
size:是用来定义图形的大小的
padding:用来定义内部边距
网友评论