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的宽度和高度










目录
相关文章
|
9月前
|
数据可视化
团队协作方法:世界咖啡法实操指南
世界咖啡法(World Café) 是一种让团队通过轻松对话激发创意、共享智慧的协作工具。
346 9
团队协作方法:世界咖啡法实操指南
|
11月前
|
算法 C++
2022年第十三届蓝桥杯大赛C/C++语言B组省赛题解
2022年第十三届蓝桥杯大赛C/C++语言B组省赛题解
233 5
|
弹性计算 供应链 数据库
阿里云服务器付费类型包年包月、按量付费、抢占式实例区别及适用场景参考
阿里云服务器有包年包月、按量付费、抢占式实例三种付费类型可选,不同类型的模式收费标准与适用场景是不一样的,有的用户由于初次购买阿里云服务器,并不清楚他们之间的区别,以及什么样的情况下应该选择哪种付费类型,本文为大家介绍下阿里云服务器付费类型包年包月、按量付费、抢占式实例区别及适用场景参考。
1433 0
阿里云服务器付费类型包年包月、按量付费、抢占式实例区别及适用场景参考
|
测试技术
《 嵌入式系统设计与实践》一一1.2 嵌入式系统开发
本节书摘来自华章出版社《 嵌入式系统设计与实践 》一 书中的第1章,第1 . 节,作者:Elecia White 著 ,更多章节内容可以访问云栖社区“华章计算机”公众号查看
4814 0
|
XML 缓存 算法
重学RecyclerView Adapter封装的深度思考和实现
重学RecyclerView Adapter封装的深度思考和实现
368 0
重学RecyclerView Adapter封装的深度思考和实现
|
IDE 开发工具
esp32环境安装教程---arduino IDE
esp32环境安装教程---arduino IDE
551 0
|
Android开发 iOS开发
如何在 Gmail 中将所有电子邮件标记为已读
如何在 Gmail 中将所有电子邮件标记为已读
|
存储 人工智能 边缘计算
边缘云技术创新 让“云”无处不在
阿里云在边缘计算与边缘云的技术演进路线、商业场景实践与学术探索。
604 0
边缘云技术创新 让“云”无处不在
|
存储 Cloud Native 关系型数据库
云原生点亮数据上云之路 | 数据库全面进入云原生+分布式时代
随着企业数字协同成为常态,数据类型和计算的复杂性空前增加,AI覆盖的场景越来越丰富,如何用好大数据就显得十分关键。对于企业来讲,数据已经成为一种资产,只有让数据更智能,让数据流动起来,才能够真正地发挥数据的价值。为此,阿里云构建了基于数据生产、存储、分析、计算和应用的一体化平台。下面让我们正式进入阿里云端世界的核心去看一看,开启第二篇章:融和·全栈数据工厂。
4330 0
云原生点亮数据上云之路 | 数据库全面进入云原生+分布式时代

热门文章

最新文章