android中的shape资源,Android Drawable资源讲解之shape篇

运用好Android的drawable资源,在开发中就可以减少图片的使用量,这样既缩小了app的体积,也省去了设计图片的时间,而且也容易适配不同的屏幕尺寸。

今天首先来讲讲shape资源的使用。

1. Shape的属性介绍

shape共支持四种形状,在根节点通过android:shape=””来定义

rectangle

方形

oval

椭圆形

line

线形,需要节点来定义其属性

ring

环形

我们常用的应该是rectangle和oval形状,我们上个图来看一下总体效果:

device-2017-01-25-161104-169x300.png

其中下面几个属性是环形时才会用到的:

android:innerRadius

尺寸。环内部(中间的孔)的半径,以尺寸值或尺寸资源表示。

android:innerRadiusRatio

浮点型。环内部的半径,以环宽度的比率表示。例如,如果 android:innerRadiusRatio=”5″,则内半径等于环宽度除以 5。此值被 android:innerRadius 覆盖。默认值为 9。

android:thickness

尺寸。环的厚度,以尺寸值或尺寸资源表示。

android:thicknessRatio

浮点型。环的厚度,表示为环宽度的比率。例如,如果 android:thicknessRatio=”2″,则厚度等于环宽度除以 2。此值被 android:innerRadius 覆盖。默认值为 3。

android:useLevel

布尔值。如果这用作 LevelListDrawable,则此值为“true”。这通常应为“false”,否则形状不会显示。当我们要设计一个圆形时必须设置它为false。

2.子节点之实色填充效果

solid节点可以实现形状的填充效果,通过android:color属性设置颜色值,如下示例:

XHTML

android:shape="rectangle">

1

2

3

4

5

6

android:shape="rectangle">

Screenshot_1485307303-169x300.png

3.子节点之渐变填充效果

gradient节点可以实现渐变的填充效果,示例如下:

XHTML

android:shape="rectangle">

android:endColor="#33ddee"

android:centerColor="#eedd33"

android:angle="90"

android:centerX="0.4"

android:centerY="0.4"

android:type="linear">

1

2

3

4

5

6

7

8

9

10

11

12

android:shape="rectangle">

android:endColor="#33ddee"

android:centerColor="#eedd33"

android:angle="90"

android:centerX="0.4"

android:centerY="0.4"

android:type="linear">

Screenshot_1485308144-169x300.png

4.子节点之实现边框效果

XHTML

android:shape="rectangle">

android:endColor="#33ddee"

android:centerColor="#eedd33"

android:angle="90"

android:centerX="0.4"

android:centerY="0.4"

android:type="linear">

android:width="2dp"

android:dashGap="2dp"

android:dashWidth="2dp">

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

android:shape="rectangle">

android:endColor="#33ddee"

android:centerColor="#eedd33"

android:angle="90"

android:centerX="0.4"

android:centerY="0.4"

android:type="linear">

android:width="2dp"

android:dashGap="2dp"

android:dashWidth="2dp">

Screenshot_1485308436-169x300.png

各个属性值的解释:

android:color

线框的颜色

android:width

线框的宽度

android:dashGap

如果画虚线框,虚线框的间隙

android:dashWidth

如果画虚线框,虚线框的宽度

5.子节点之实现圆角效果

为了美观,我们在画按钮时都会给按钮背影加个圆角效果,在shape里可以通过corner节点来实现圆角效果,如下所示:

XHTML

android:shape="rectangle">

android:endColor="#33ddee"

android:centerColor="#eedd33"

android:angle="90"

android:centerX="0.4"

android:centerY="0.4"

android:type="linear">

android:width="1dp">

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

android:shape="rectangle">

android:endColor="#33ddee"

android:centerColor="#eedd33"

android:angle="90"

android:centerX="0.4"

android:centerY="0.4"

android:type="linear">

android:width="1dp">

Screenshot_1485308957-169x300.png

radius用于设置圆角的半径大小,也可以通过android:topLeftRadius,android:topRightRadius,android:bottomLeftRadius,android:bottomRightRadius分别设置四个角的圆角半径大小,比如在实现tab标签头部按钮时,我们可能只需要为左上和右上角设置圆角效果。比如还可以实现一些特殊形状的导航按钮等等。

6.padding节点

padding节点用于设置形状相对于四边的内部间距,可以用于在layer-list中设置阴影的效果。

打赏

f69872ab5631b766bfb8c62b6b7d28fa.png微信扫一扫,打赏作者吧~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/312105.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++unique函数应用举例

明明想在学校中请一些同学一起做一项问卷调查。 为了实验的客观性,他先用计算机生成了N个1到1000之间的随机整数,对于其中重复的数字,只保留一个,把其余相同的数去掉,不同的数对应着不同的学生的学号。 然后再把这些数…

C# WPF 一个设计界面

微信公众号:Dotnet9,网站:Dotnet9,问题或建议:请网站留言, 如果对您有所帮助:欢迎赞赏。C# WPF 一个设计界面今天正月初三,大家在家呆着挺好,不要忘了自我充电。武汉人民…

android中shape的属性,android中shape的属性

solid:实心,就是填充的意思android:color指定填充的颜色gradient:渐变android:startColor和android:endColor分别为起始和结束颜色,ndroid:angle是渐变角度,必须为45的整数倍。另外渐变默认的模式为android:type”line…

C++to_string应用举例

给定一个非负整数 N,你的任务是计算 N 的所有数字的总和,并以英语输出总和的每个数字。 输入格式 共一行,包含一个整数 N。 输出格式 共一行,用英语输出总和的每个数字,单词之间用空格隔开。 代码如下: …

合集| 21 篇技术文章,带你从零入门 K8s

由阿里云与 CNCF 共同开发的《CNCF x Alibaba 云原生技术公开课》(视频课程)第一期已更新完毕。为了让大家有更好的学习体验,我们把视频课程转为图文,并请讲师重新编辑成文章,在公众号以“从零入门 K8s” 为系列进行每…

C++string容器应用举例

给定一个整数,请将该数各个位上数字反转得到一个新数。 新数也应满足整数的常见形式,即除非给定的原数为零,否则反转后得到的新数的最高位数字不应为零。 输入格式 输入共1行,1个整数N。 输出格式 输出共1行,1个整数…

家居灯光控制系统设计 android,基于Android的室内照明控制系统设计与实现

摘要:传统的室内照明系统存在控制不方便、布线困难、智能化程度不高等问题,而随着Android智能手机不断发展,已经可以实现多种控制功能。结合WiFi无线通信技术低功耗、高传输速率、组网方便等特点,适合智能化的室内照明控制系统。基于此提出一种以Android手机为平台,…

比尔盖茨早有预警:对大疫情爆发我们还没准备好

比尔盖茨早已预警,如今全球最大的危险不是核战争,而是高度传染的病毒,不是导弹,而是微生物。新型冠状病毒感染肺炎新增病例数仍在增长,钛媒体根据百度数据统计官方发布显示,截止发稿前1月30日9:30&#xff…

AcWing 3208. Z字形扫描

在图像编码的算法中,需要将一个给定的方形矩阵进行 Z 字形扫描(Zigzag Scan)。 给定一个 nn 的矩阵,Z 字形扫描的过程如下图所示: 对于下面的 44 的矩阵, 1 5 3 9 3 7 5 6 9 4 6 4 7 3 1 3 对其进行 Z 字形扫描后得到长度为 16 的…

写公众号的这一年多

2018年五月,在微信发布公众号助手之时我开通了个人公众号「不止dotNET」,到现在已经一年半多的时间了,非常时期,在家自我隔离,没事写写总结。数据总共发布了 53 篇原创文章,离之前的目标(每周一…

评分较高对鸿蒙文,万倍增幅:鸿蒙至高神,加入诸天万界群

“这是.......”曹操身躯被吸上了天空。咔嚓咔嚓!曹操感觉浑身血液爆涌,筋骨齐鸣,一股气流在他的体内穿透,强大的力量感从体内升起!他的身体散发着淡淡金光,气息渐渐升腾。整个过程大约五息。曹操缓缓落地&…

AcWing 703. 数独检查

**数独是一种流行的单人游戏。 目标是用数字填充9x9矩阵,使每列,每行和所有9个非重叠的3x3子矩阵包含从1到9的所有数字。 每个9x9矩阵在游戏开始时都会有部分数字已经给出,通常有一个独特的解决方案。 给定完成的N2∗N2数独矩阵&#xff0c…

pdf文件内容查看器 -- 采用wpf开发

前言 pdf是一种应用非常广的版式文档格式,已成为事实上的国际标准。关于pdf格式的文章汗牛充栋,本文也是关于pdf格式的文章,但是本文不是纸上谈兵;本人这几周一直研究pdf格式内容,不但对pfd格式的内容有所了解&#xf…

AcWing 126. 最大的和

给定一个包含整数的二维矩阵,子矩形是位于整个阵列内的任何大小为1 * 1或更大的连续子阵列。 矩形的总和是该矩形中所有元素的总和。 在这个问题中,具有最大和的子矩形被称为最大子矩形。 例如,下列数组: 0 -2 -7 0 9 2 -6 2 -4…

​WeihanLi.Npoi 根据模板导出Excel

WeihanLi.Npoi 根据模板导出ExcelIntro原来的导出方式比较适用于比较简单的导出,每一条数据在一行,数据列虽然自定义程度比较高,如果要一条数据对应多行就做不到了,于是就想支持根据模板导出,在 1.8.0 版本中引入了根据…

UC浏览器如何开启html5,如何开启手机uc浏览器中的极速模式

如何开启手机uc浏览器中的极速模式当我们在使用手机的时候,可以下载uc浏览器来浏览网页,为了提升网页的浏览速度,可以开启浏览器中的极速模式,接下来就由小编来告诉大家如何操作。具体如下:1.第一步,打开手…

前端扫盲:什么是API网关?为什么它有用?

API 通常被称为应用程序从后端服务访问数据和业务逻辑的前门。API 本质上是一个软件向其他人或程序提供的接口,允许他们与该软件进行交互。 在创建 API 时,需要选择编程语言(Java、Python、PHP 等)来编写 API 逻辑,还需要将 API 部署到服务器…

AcWing 1381. 阶乘

转载地址: https://www.acwing.com/solution/content/31460/ N 的阶乘(记作 N!)是指从 1 到 N(包括 1 和 N)的所有整数的乘积。 阶乘运算的结果往往都非常的大。 现在,给定数字 N,请你求出 N…

ProjectFileManager 发布!项目文件管理效率提升10倍以上!

值此特别的新春假期,盛派网络在这里先祝大家新春安康!鼠年平安、幸福、发财、万事如意!也祝福疫区的同胞和医护人员平安度过这一段关键时期!延长的假期显然也为我们日常工作带来了一些障碍,为了能够利用工具进一步提高…

简历中能熟练使用计算机怎么写,过了计算机二级,可以在简历里写“熟练掌握Excel”吗?...

原标题:过了计算机二级,可以在简历里写“熟练掌握Excel”吗?咨询/快消/互联网/四大/投行PEVC/券商绝大多数岗位都会要求“熟练掌握Excel”而尽管绝大多数同学“实际水平根本达不到工作要求”但是每一位同学都敢在简历上放一句薛定谔的「熟练掌…