Drawable简介之-------shape

简介: ShapeDrawable 是一种很常见的Drawable,可以理解通过颜色来构造的图形,它既可以是纯色的图形,也可以是具有渐变的图形 android:shape   : 表示图形的形状,有四个选项 : rectange(矩形)  ,oval (椭圆)     line  (横向)    ring  (圆环)  它的默认值是矩形,另外 line和ring 这两个选项必须要通过


ShapeDrawable 是一种很常见的Drawable,可以理解通过颜色来构造的图形,它既可以是纯色的图形,也可以是具有渐变的图形


android:shape   : 表示图形的形状,有四个选项 : rectange(矩形)  ,oval (椭圆)     line  (横向)    ring  (圆环)  它的默认值是矩形,另外 line和ring 这两个选项必须要通过

<stroke>标签来指定线宽度和颜色等信息,否则无法达到预期的效果。


针对ring 这个形状 ,有五个特殊的属性 


android :innerRadius : 圆环的内半径, 和android : innerRadiusRatio 同时存在  ,以anddroid  : innerRadius 为准.

android : thickness  :  圆环的厚度,即外半径减去内半径的大小,和android : thicknessRatio 同时存在时,以android :thickness为准.

android :innerRadiuRatio : 内半径占整个Drawable  宽度的比例,默认值是9  ,如果为  n  ,那么内半径 = 宽度 =n。

android  : thicknessRatio   : 厚度占整个 Drawable   的宽度的比例,默认值是3 ,如果为  n  ,那么厚度=宽度= n 。

android  : useLevel  : 一般都应该使用false ,否则 有可能无法达到预期的显示效果,除非它当做LevelListDrawable来使用.


<corner>   表示shape的四个角度。它只适合于矩形的shape ,这里的角度是指圆的程度,用px来表示 。他有五个特性

android : radius : 为四个角度设置相同的角度 ,优先级较低,会被其他是个属性所覆盖。

android : topLeftRadius  :  设定最上角的角度

android : topRightRadius : 设定右上角的角度

android : bottomLeftRadius : 设定左下角的角度 

android  : bottonRigthRadius : 设定右下角的角度




<gradient>  他与<solid>互相排斥 ,其中的solid 表示纯属填充 而 gradient 则表示渐变效果 ,它有如下几个属性

android  : angle :  渐变的角度 ,默认为0 其值必须为45的倍数 ,0 表示从左到右,90 表示从上到下

android : centerX : 渐变的中心点的横坐标 

android :centerY  :  渐变的中心点的纵坐标  ,渐变的中心点会影响渐变的具体效果

android  : startColor : 渐变的起始颜色

android : centerColor : 渐变的中间色

android : endColor : 渐变的结束色 

android : gradientRadius : 渐变的半径 ,仅当android : type="radial"是有效

android : useLevel : 一般为false 当Drawable 作为StateListDrawable 使用时为true

android : type : 渐变的类别 , 有linear(线性渐变) radial(径向渐变)  sweep(扫描线渐变) ,其中默认值为线性渐变



<solid>  这个标签表示纯色填充 ,通过 android: color 即可表示指定 shape中的填充颜色


<stroke> Shape的描边 有如下几个属性


android : width  描边的宽度,越大则Shape的边缘就会看起开越粗

android : color  描边的颜色

android : dashWidth   组成虚线的宽度

android : dashGap  组成虚线之间的间隔 ,间隔越大则表示虚线看起来空隙就越大



<padding>  这个表示空白 ,但是它表示的不是Shape的空白,而是包含它的View的空白,有四个属性 

android : left  andrlid : top   android : rigth    android : left  


<size>  : shape的大小 表示shape的宽度和高度










目录
相关文章
|
6月前
|
SQL 人工智能 移动开发
Android etc1tool之png图片转换pkm 和 zipalign简介
etc1tool 是一种命令行实用程序,可用于将 PNG 图片编码为 ETC1 压缩标准格式(PKM),并将 ETC1 压缩图片解码回 PNG。
|
9月前
|
编解码 Android开发
|
11月前
|
XML Android开发 数据格式
Android shape的用法详解
Android shape的用法详解
Android shape的用法详解
|
XML Android开发 数据格式
Android drawable layer-list 牛刀小试
Android drawable layer-list 牛刀小试
66 0
Android drawable layer-list 牛刀小试
|
算法 数据挖掘 开发者
Measure for evaluating the goodness of a test(二)| 学习笔记
快速学习 Measure for evaluating the goodness of a test。
69 0
Measure for evaluating the goodness of a test(二)| 学习笔记
|
算法 数据挖掘 开发者
Measure for evaluating the goodness of a test(一)| 学习笔记
快速学习 Measure for evaluating the goodness of a test。
77 0
Measure for evaluating the goodness of a test(一)| 学习笔记
|
Android开发
Android Shape常用实例详解
目录:实心圆;虚线;空心圆;圆角;按钮切换;底部横线
141 0
|
C#
[UWP]不怎么实用的Shape指南:自定义Shape
原文:[UWP]不怎么实用的Shape指南:自定义Shape 1. 前言 这篇文章介绍了继承并自定义Shape的方法,不过,恐怕,事实上,100个xaml的程序员99个都不会用到。写出来是因为反正都学了,当作写个笔记。
724 0
|
前端开发 Android开发 Python