<shape>是根节点,一般设置两个属性


xmlns:android
String. Required.Defines the XML namespace, which must be "http://schemas.android.com/apk/res/android".
这个是必须的,申明Android的命名空间
android:shape
Keyword. Defines the type of shape. Valid values are:(定义这个类型的形状,变量值是:)
这个也是必须的,表示你定义的图形是什么类型,圆,环,直线,长方形

Value Desciption
"rectangle" A rectangle (长方形)that fills the containing View. This is the default shape.(这个是默认的形状)
"oval" An oval (椭圆形)shape that fits the dimensions of the containing View.
"line" A horizontalline that spans the width of the containing View. This shape requires the<stroke>element to define the width of the line.
"ring" A ring shape.

下面是子节点:

第一个子节点:corners
<corners>
Creates rounded corners for the shape. Applies only when the shape is a rectangle.创建圆角的形状。仅适用于当其形状是一个长方形。
这个其实说的是:当定义的形状是长方形的时候,长方形左右上下四个边是圆角的,说简单点就是四个角,值越大,角越圆

attributes:

android:radius
Dimension. The radius for all corners, as a dimension value or dimension resource. This is overridden for each corner by the following attributes.
一般用这个属性 就可以了,下面的四个属性就是详细的去定义了
android:topLeftRadius
Dimension. The radius for the top-left corner, as a dimension value or dimension resource.
android:topRightRadius
Dimension. The radius for the top-right corner, as a dimension value or dimension resource.
android:bottomLeftRadius
Dimension. The radius for the bottom-left corner, as a dimension value or dimension resource.
android:bottomRightRadius
Dimension. The radius for the bottom-right corner, as a dimension value or dimension resource.
第二个子节点:gradient
<gradient>
Specifies a gradient color for the shape.指定一个渐变颜色的形状。
这个属性是为了 定义的shape填充颜色的,如果把起始颜色值和结束颜色值设置为一样的,就应该没有渐变了

attributes:

android:angle
Integer. The angle for the gradient, in degrees. 0 is left to right, 90 is bottom to top. It must be a multiple of 45. Default is 0.
这个其实是决定渲染方向,是从左到右,从右到左,从上到下,从下到上,
android:centerX
Float. The relative X-position for the center of the gradient (0 - 1.0).
android:centerY
Float. The relative Y-position for the center of the gradient (0 - 1.0).
android:centerColor
Color. Optional color that comes between the start and end colors, as a hexadecimal value or color resource.
android:endColor
Color. The ending color, as a hexadecimal value or color resource.
android:gradientRadius
Float. The radius for the gradient. Only applied when android:type="radial".
android:startColor
Color. The starting color, as a hexadecimal value or color resource.
android:type
Keyword. The type of gradient pattern to apply. Valid values are:
Value Description
"linear" A linear gradient. This is the default.
"radial" A radial gradient. The start color is the center color.
"sweep" A sweeping line gradient.
android:useLevel
Boolean. "true" if this is used as a LevelListDrawable.
第三个子节点:padding
<padding>
Padding to apply to the containing View element (this pads the position of the View content, not the shape).适用于包含填充视图元素(这垫的位置,而不是观点内容的形状)
定义的shape 有填充间距,这个应该很好理解,只的是包裹的内容本身与形状的间距,不是形状自身

attributes:

android:left
Dimension. Left padding, as a dimension value or dimension resource.
android:top
Dimension. Top padding, as a dimension value or dimension resource.
android:right
Dimension. Right padding, as a dimension value or dimension resource.
android:bottom
Dimension. Bottom padding, as a dimension value or dimension resource.
第四个子节点:size
<size>
The size of the shape.
定义形状的大小,是指形状本身的大小宽和高,这个跟后面的那个stroke节点有点混,stroke是指线条的宽和高,指的是描边

attributes:

android:height
Dimension. The height of the shape, as a dimension value or dimension resource.
android:width
Dimension. The width of the shape, as a dimension value or dimension resource.

Note:The shape scales to the size of theContainerView proportionate to the dimensions defined here, by default. When you use the shape in anImageView, you can restrict scaling by setting theandroid:scaleTypeto"center".

第五个子节点:solid
<solid>
A solid color to fill the shape.

attributes:

android:color
Color. The color to apply to the shape, as a hexadecimal value or color resource.
第六个子节点:stroke
<stroke>
A stroke line for the shape.
这个解释应该就是字面的意思,线条的厚度,

attributes:

android:width
Dimension. The thickness of the line, as a dimension value or dimension resource.
android:color
Color. The color of the line, as a hexadecimal value or color resource.
android:dashGap
Dimension. The distance between line dashes, as a dimension value or dimension resource. Only valid if android:dashWidthis set.
android:dashWidth
Dimension. The size of each dash line, as a dimension value or dimension resource. Only valid if android:dashGapis set.

更多相关文章

  1. Android(安卓)webkit image的加载过程解析(二)
  2. 安卓样式之shape(形状)
  3. 数据存储和界面笔记
  4. 【Android-002】【常见布局】
  5. Android(安卓)XML :unbound prefix 错误
  6. 虚拟键盘弹出时挡住EditText的解决方案
  7. android studio 打包 so 库
  8. Android中渐变效果的设置
  9. 数据存储和界面展示一

随机推荐

  1. 教你如何6秒钟往MySQL插入100万条数据的
  2. MySQL如何优雅的备份账号相关信息
  3. MySQL Aborted connection告警日志的分析
  4. MySQL为什么要避免大事务以及大事务解决
  5. 聊一聊MyISAM和InnoDB的区别
  6. MySQL创建数据表时设定引擎MyISAM/InnoDB
  7. Mysql深入探索之Explain执行计划详析
  8. MySQL 8.0统计信息不准确的原因
  9. MySQL如何快速导入数据
  10. MySQL备份脚本的写法