Android 应用开发 图形定制

一、形状图形

Shape图形又称为形状图形,它用来描述常见的几何形状,包括矩形、圆角矩形、圆形、椭圆等。

形状图形的定义放在drawable目录下,它是以shape标签为根节点的XML描述文件,根节点下定义了6个节点,分别是size(尺寸)、stroke(描边)、corners(圆角)、solid(填充)、padding(间隔)、gradient(渐变),各节点的属性值主要是长宽、半径、角度以及颜色等。下面是形状图形各个节点及其属性的简要说明。

1.shape(形状)

shape是形状图形文件的根节点,它描述了当前是哪种几何图形。下面是shape节点的常用属性说明。

shape:字符串类型,表示图形的形状。

2.size

size是shape的下级节点,它描述了形状图形的宽高尺寸。若无size节点,则表示宽高与宿主视图一样大小。下面是size节点的常用属性说明。

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

3.stroke

stroke是shape的下级节点,它描述了形状图形的描边规格,若无stroke节点,则表示不存在描边。下面是stroke节点常用属性说明。

  • color:颜色类型,描边的颜色。
  • dashGap:像素类型,每段虚线之间的间隔。
  • dashWidth:像素类型,每段虚线的宽度,若dashGap和dashWidth有一个值为0,则描边为实线。
  • width:像素类型,描边的厚度。

4.corners(圆角)

corners是shape的下级节点,它描述了形状图形的圆角大小,若无corners节点,则表示没有圆角。下面是corners节点常用属性说明。

bottomLeftRadius:像素类型,左下圆角的半径
bottomRightRadius:像素类型,右下圆角的半径
topLeftRadius:像素类型,左上圆角的半径
topRightRadius:像素类型,右上圆角的半径
radius:像素类型,4个圆角的半径(若有上面4个圆角半径的定义,则不需要radius定义)
5. solid (填充)
solid shape 的下级节点,它描述了形状图形的填充色彩。若无 solid 节点,则表示无填充颜色。下面是solid节点的常用属性说明。
  • color:颜色类型,内部填充的颜色。
6 padding (间隔)
padding shape 的下级节点,它描述了形状图形与周围边界的间隔。若无 padding 节点,则表示四周不设间隔。下面是padding 节点的常用属性说明。
  • top:像素类型,与上方的间隔。
  • bottom:像素类型,与下方的间隔。
  • left:像素类型,与左边的间隔。
  • right:像素类型,与右边的间隔。
7 gradient (渐变)
gradient shape 的下级节点,它描述了形状图形的颜色渐变。若无 gradient 节点,则表示没有渐变效果。下面是gradient 节点的常用属性说明。
  • angle:整型,渐变的起始角度。为0时表示时钟的9点位置,值增大表示往逆时针方向旋转。例 如,值为90表示6点位置,值为180表示3点位置,值为270表示0/12点位置。
  • type:字符串类型,渐变类型。

  • centerX:浮点型,圆心的X坐标。当android:type="linear"时不可用。
  • centerY:浮点型,圆心的Y坐标。当android:type="linear"时不可用。
  • gradientRadius:整型,渐变的半径。当android:type="radial"时需要设置该属性。
  • centerColor:颜色类型,渐变的中间颜色。
  • startColor:颜色类型,渐变的起始颜色。
  • endColor:颜色类型,渐变的终止颜色。
  • useLevel:布尔类型,设置为true为无渐变色、false为有渐变色。

下面是一个圆角矩形的定义

<shape xmlns:android="http://schemas.android.com/apk/res/android" >
    <!-- 指定了形状内部的填充颜色 -->
    <solid android:color="#ffdd66" />
    <!-- 指定了形状轮廓的粗细与颜色 -->
    <stroke
        android:width="1dp"
        android:color="#aaaaaa" />
    <!-- 指定了形状四个圆角的半径 -->
    <corners android:radius="10dp" />
</shape>

  • 16
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值