android shape比例,Android shape 的使用

一.shape语法

1.文件位置:

res/drawable/filename.xml

这个文件名就是资源ID。

2.资源类型:

这是一个GradientDrawable资源文件。(使用shape定义GradientDrawable的属性)

3.资源引用方式:

在JAVA中:R.drawable.filename

在XML中 :@[package:]drawable/filename

4.语法:<?xml version="1.0"encoding="utf-8"?>                

android:color="color" />    

5.元素:

这个必须作为根元素。

属性:

xmlns:android

String.定义xml文件的命名空间,必须是"http://schemas.android.com/apk/res/android"。

xmlns:shape

Keyword.定义这个类型的形状,可选值为:ValueDesciptio

"rectangle"矩阵,这也是默认的形状

"oval"椭圆形

"line"一条水平的直线。必须使用  元素来定义这条线的宽度,否则不会

"ring"圆环

下面的属性只有当android:shape="ring"才使用:

android:innerRadius

Dimension. 内环的半径。一个尺寸值(dp)或者一个尺寸资源(dimension resource)。

android:innerRadiusRatio

Float.这个值表示内部环的比例,例如,如果android:innerRadiusRatio = " 5 ",那么内部环的半径等于环的宽度除以5。这个值会被android:innerRadius重写。 默认值是9。

android:thickness

Dimension.环的厚度,是一个尺寸值(dp)或尺寸的资源(dimension resource)。

android:thickne***atio

Float.厚度的比例。例如,如果android:thickne***atio= " 2 ",然后厚度等于环的宽度除以2。这个值会被android:thickness重写, 默认值是3。

android:useLevel

Boolean.如果用在 LevelListDrawable里,那么就是true。如果通常不出现则为false。

为Shape创建一个圆角,只有android:shape="rectangle"才有效果。

属性:

android:radius

Dimension.圆角的半径。会被下面每个特定的圆角属性重写。

android:topLeftRadius

Dimension.左上角半径。

android:topRightRadius

Dimension.右上角半径。

android:bottomLeftRadius

Dimension. 左下角半径。

android:bottomRightRadius

Dimension.右下角半径。

PS:每个圆角半径值都必须大于1,否侧就没有圆角。

指定这个shape的渐变颜色。

属性:

android:angle

Integer.渐变的角度,逆时钟旋转。 0 代表从左到右。90 代表下到上。必须是45的倍数,默认为0。

android:centerX

Float.渐变中心的相对X坐标,值必须在0-1.0之间。

android:centerY

Float.渐变中心的相对Y坐标,值必须在0-1.0之间。

android:startColor

Color.开始的颜色值。

android:centerColor

Color.中间的颜色值。

android:endColor

Color.结束的颜色值。

android:gradientRadius

Float.渐变的半径。只有在 android:type="radial"才有效。

android:useLevel

Boolean.如果在LevelListDrawable中使用,则为true

android:type

Keyword.渐变的模式,可选值为:

ValueDescription

"linear"线形渐变。默认的模式

"radial"辐射渐变。startColor即辐射中心的颜色

"sweep"扫描线渐变。

内容与视图边界的距离

属性:

android:left

Dimension.左边距离.

android:top

Dimension.顶部距离.

android:right

Dimension.右边距离.

android:bottom

Dimension.底部距离.

这个shape的大小。

属性:

android:height

Dimension.这个shape的高度。

android:width

Dimension.这个shape的宽度。

PS:默认情况下,这个shape会缩放到与他所在容器大小成正比。当你在一个ImageView中使用这个shape,你可以使用android:scaleType="center"来限制这种缩放。

用指定的颜色填充整个shape。

ps:渐变的颜色会覆盖填充的颜色

属性:

android:color

Color.颜色值,十六进制数,或者一个Color资源

给shape描边,当android:shape="line"的时候,必须设置改元素。

属性:

android:width

Dimension.笔画的粗细。

android:color

Color.笔画的颜色

android:dashGap

Dimension.每画一条虚线间隔宽度。只有当android:dashWidth也设置了才有效。

android:dashWidth

Dimension.每画一条虚线的长度。只有当 android:dashGap也设置了才有效。

二.示例

1.矩形

<?xml version="1.0"encoding="utf-8"?>

android:type="linear"android:startColor="#FFF000"android:centerColor="#0F0F00"android:endColor="#00F0FF"android:angle="0"android:centerX="0.5"android:centerY="0.5"/>

线性渐变

9638e542284cd6f33cec2be188c760fd.gif

辐射渐变,辐射渐变必须设置android:gradientRadius,否则没有效果

(这一句可以不用注释)android:endColor="#00F0FF"android:angle="0"android:centerX="0.5"android:centerY="0.5"android:gradientRadius="40dp"/>

febb1972c2d116fac85959eef26e3209.gif

扫描渐变

926d0306c09176c6d558ab391fca0a6d.gif

2.椭圆形

修改android:shape="oval"

5b015e4e446ca07feb6d268287036563.gif6acf6749cd82d8d28ee1fd9922ce9333.gif

388b2a17675d406468a2233a8b3d0cfa.gif

3.线。只有和有效果,必须设置否则线不会出现。PS:属性可有可无,可以通过的width元素来代替。<?xml version="1.0"encoding="utf-8"?>

91eabd952ab1acd181d950ccdbb6792b.png

4.圆环。

PS: android:innerRadius会覆盖android:innerRadiusRatio;设置内环的半径(内环是空心)

android:thickness会覆盖android:thickne***atio;设置外环的厚度

不明白可以查看上面API

文件名:shape.xml

ccc258ea4dabef41e3c84531f0fa8842.gif

圆环应用方式:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值