Android中形状图形的使用

博客介绍了形状图形定义文件,以shape元素为根节点,其下有corners、gradient等6个节点。分别阐述了各节点作用,如corners描述圆角、gradient描述渐变等,还介绍了各节点常用属性,属性值主要涉及长宽、半径、角度和颜色。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

形状图形的定义文件以shape元素为根节点。根节点下定义了6个节点:corners(圆角)、gradient(渐变)、padding(间隔)、size(尺寸)、solid(填充)、stroke(描边),各节点的属性值主要是长宽、半径、角度以及颜色。

1.shape

-shape是XML文件的根结点,用来描述该形状图形是哪种几何图形。shape节点有一个同名的属性shape。该属性取值如下:

形状类型说明
rectangle矩形。默认值
oval椭圆。此时corners节点失效
line直线。此时必须设置Stroke节点,不然会报错
ring圆环

2.corners

-corners是shape的下级节点,用来描述4个圆角的规格定义。若无corners节点,则表示没有圆角。下面是corners节点的常用属性。

  • bottomLeftRadius:像素类型,左下圆角的半径。

  • bottomRightRadius:像素类型,右下圆角的半径。

  • topLeftRadius:像素类型,左上圆角的半径。

  • topRightRadius:像素类型,右上圆角的半径。

  • radius:像素类型,圆角半径(若有上面4个圆角半径的定义,则不需要radius定义)

3.gradient

-gradient是shape的下级节点,用来描述形状内部的颜色渐变定义。若无gradient节点,则表示没有渐变效果。下面是gradient节点的常用属性。

  • angle:整型,渐变的起始角度。为0时表示时钟的9点位置,值增大表示往逆时针方向旋转。

  • type:字符串类型,渐变类型。渐变类型取值见下表:

渐变类型说明
linear线行渐变,默认值
radial放射渐变,起始颜色就是圆心颜色
sweep

滚动渐变,即一个线段以某个端点为圆心做360度旋转

  • centerX:浮点型,圆心的X坐标。当android:type="linear"时不可用。

  • centerY:浮点型,圆心的Y坐标。当android:type="linear"时不可用。

  • gradientRadius:整型,渐变的半径。当android:type="radial"时才需要设置该属性。

  • centerColor:颜色类型,渐变的中间颜色。

  • startColor:颜色类型,渐变的起始颜色。

  • endColor:颜色类型,渐变的终止颜色。

  • useLevel:布尔类型,设置为true无渐变色、false有渐变色。

4.padding

-padding是shape的下级节点,用来描述形状图形与周围视图的间隔大小。若无padding节点,则表示四周不设间隔。下面是padding节点的常用属性。

  • bottom:像素类型,与下边的间隔。

  • left:像素类型,与左边的间隔。

  • right:像素类型,与右边的间隔。

  • top:像素类型,与上边的间隔。

5.size

-size是shape的下级节点,用来描述形状图形的尺寸大小(宽度和高度)。若无size节点,则表示宽高自适应。下面是size节点的常用属性。

  • height:像素类型,图形高度。

  • width:像素类型,图形宽度。

6.solid

-solid是shape的下级节点,用来描述形状图形内部的填充色彩。若无solid节点,则表示无填充颜色。下面是solid节点的常用属性。

  • color:颜色类型,内部填充的颜色。

7.stroke

-stroke是shape的下级节点,用来描述形状图形四周边线的规格定义。若无stroke节点,则表示不存在描边。下面是stroke节点的常用属性。

  • color:颜色类型,描边的颜色。

  • dashGap:像素类型,每段虚线之间的间隔。

  • dashWidth:像素类型,每段虚线的宽度。

  • width:像素类型,描边的厚度。若dashGap和dashWidth有一个值为0,则描边为实线。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值