Android中形状图形 | shape图形常用的3个节点:corners(圆角)、solid(填充) 和 stroke(描边)
shape是Android中常用的一种XML图形文件。
形状图形的定义文件以shape元素为根节点。根节点下定义了6个节点:corners(圆角)、gradient(渐变)、padding(间隔)、size(尺寸)、solid(填充)、stroke(描边),各节点的属性值主要是长宽、半径、角度以及颜色。
常用的三个节点 corners(圆角)、solid(填充) 和 stroke(描边) 简要说明如下:
(一)corners
corners是shape的下级节点,用来描述4个圆角的规格定义。若无corners节点,则表示没有圆角。下面是corners节点的常用属性说明:
- bottomLeftRadius: 像素类型,左下圆角的半径。
- bottomRightRadius: 像素类型,右下圆角的半径。
- topLeftRadius: 像素类型,左上圆角的半径。
- topRightRadius: 像素类型,右上圆角的半径。
- radius: 像素类型,圆角半径(若有上面4个圆角半径的定义,则不需要radius定义)。
(二)solid
solid是shape的下级节点,用来描述形状图形的尺寸大小(宽度和高度)。若无solid节点,则表示无填充颜色。下面是solid节点的常用属性说明:
- color: 颜色类型,内部填充的颜色。
(三)stroke
stroke是shape的下级节点,用来描述形状图形四周边线的规格定义。若无stroke节点,则表示不存在描边。下面是stroke节点的常用属性说明。
- color: 颜色类型,描边的颜色。
- dashGap: 像素类型,每段虚线之间的间隔。
- dashWidth: 像素类型,每段虚线的宽度
- width: 像素类型,描边的厚度。若dashGap和dashWidth有一个值为0,则描边为实线。
代码示例:
1 <?xml version="1.0" encoding="utf-8"?> 2 <shape xmlns:android="http://schemas.android.com/apk/res/android"> 3 4 <solid android:color="#ffffff" /> 5 6 <stroke 7 android:width="1dp" 8 android:color="#bbbbbb" /> 9 10 <corners 11 android:bottomLeftRadius="10dp" 12 android:bottomRightRadius="10dp" 13 android:topLeftRadius="10dp" 14 android:topRightRadius="10dp" /> 15 16 </shape>