实习杂记(20)---Android里面shape定义图形相关属性

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

xmlns:android StringRequired. 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 the Container View proportionate to the dimensions defined here, by default. When you use the shape in an ImageView, you can restrict scaling by setting the android:scaleType to "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:dashWidth is set. android:dashWidth Dimension. The size of each dash line, as a dimension value or dimension resource. Only valid if android:dashGap is set.

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券