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节点的常用属性说明:

  1. bottomLeftRadius: 像素类型,左下圆角的半径。
  2. bottomRightRadius: 像素类型,右下圆角的半径。
  3. topLeftRadius: 像素类型,左上圆角的半径。
  4. topRightRadius: 像素类型,右上圆角的半径。
  5. radius: 像素类型,圆角半径(若有上面4个圆角半径的定义,则不需要radius定义)。

(二)solid

    solid是shape的下级节点,用来描述形状图形的尺寸大小(宽度和高度)。若无solid节点,则表示无填充颜色。下面是solid节点的常用属性说明:

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

(三)stroke

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

  1. color: 颜色类型,描边的颜色。
  2. dashGap: 像素类型,每段虚线之间的间隔。
  3. dashWidth: 像素类型,每段虚线的宽度
  4. 像素类型,描边的厚度。若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>

 效果图

原文地址:https://www.cnblogs.com/fanlumaster/p/12591934.html