Android Shape总结
Shape的基础标签共有6个:corners, gradient, solid, stroke, padding, size
Shape可以有四种形状:rectangle(矩形,默认形状),oval(椭圆形),ring(水平线),ring(环形)
关于corners标签:
corners元素只适用于rectangle!
总共有5个属性,一个总的圆角半径,或者四个角分别设置圆角半径,如果发生冲突,以该角单独设定的为准,与书写顺序无关。关于solid/gradient标签: 这两个元素均表示填充颜色,故而会产生冲突。冲突的处理原则为,二选一,按照xml中的定义顺序,谁定义在后面,就选择谁,抛弃在前面定义的
solid只有color这一个属性,即solid只能填充单一的纯色。
关于gradient
必选属性:startColor, endColor 起始颜色,终止颜色
可以设置centerColor属性,即按照某一方位可以发生两次渐变
type有3种取值,linear(线性变换,默认值), radial(径向,即像水波一样往外一圈圈扩散), sweep
当type为linear时,一般也要设置渐变角度angle,默认为0,即从左往右。这是一个整数值,且必须为45的整数倍,90即从下往上,以此类推。可以超过360。
当type为radial时,必须设置gradientRadius,即终结颜色最早出现的位置,距中心半径多少,从这一位置往外,就全是以终结颜色填充了。可选属性是centerX和centerY,是float型,取值0-1.0,默认0.5即中心位置。
当type为sweep时,只能设置起始和结束颜色,而且渐变是固定从3点钟位置开始,按照顺时针方向渐变。关于stroke标签 表示描边。共有4个属性:color, width, dashWidth, dashGap
width表示描边的粗细,边的中心以shape的长宽实际边界为准,向两边扩散。
dashWidth, dashGap表示以描边画成虚线,这两个属性必须成对出现,缺一不可,分别表示单段虚线的长度和每两段虚线的间隔。关于size标签 仅用于定义长宽,只有width和height两个属性
shape类型为ring时
注意,在Android Studio上实时展示的ring似乎有问题
一般情况下必须设置useLevel为false,否则环形无法显示。
此时相比其他形状,多了4个独有的属性(直接写在根元素):innerRadius(Radio),thickness(Radio)
当设置stroke时,内外两侧都会有描边;当设置solid/gradient时,只会填充环,内圆永远为空。shape对应于android.graphics.drawable.GradientDrawable类
Android Shape总结的更多相关文章
- android shape使用总结
今天使用到shape,这个里面有很多属性,在这里我记录一下各个属性的使用的情况以及所代表的意思 <?xml version="1.0" encoding="utf- ...
- android:shape
android:shape=["rectangle" | "oval" | "line" | "ring"] shape ...
- Android shape的使用(圆角矩形)
<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http: ...
- android shape详解
shape--> shape属性: rectangle: 矩形,默认的形状,可以画出直角矩形.圆角矩形.弧形等 solid: 设置形状填充的颜色,只有android:color一个属性 andr ...
- android shape(如自定义Button)
Shape 前言:有时候会去自己去画一些Button的样式来展现在UI当中,其中主要用到的就是Shape 先来看一段代码: <?xml version="1.0" encod ...
- android shape的使用详解以及常用效果(渐变色、分割线、边框、半透明阴影效果等)
shape使用.渐变色.分割线.边框.半透明.半透明阴影效果. 首先简单了解一下shape中常见的属性.(详细介绍参看 api文档 ) 转载请注明:Rflyee_大飞: http://blog.cs ...
- Android Shape画圆,矩形
画圆环代码如下: 画圆环,外边的边界宽度大一点即可: <?xml version="1.0" encoding="utf-8"?> <shap ...
- ANDROID SHAPE画圆形背景_ANDROID实现角标布局
ANDROID SHAPE画圆形背景_ANDROID实现角标布局 <?xml version="1.0" encoding="UTF-8"?> &l ...
- android shape总结 和控制的风格定制
1:shape总结 1):shape文件是放置在drawable文件下的.res/drawable/filename.xml. 2):shape类型:android:shape. 一共同拥有四种:re ...
- [转]Android Shape渲染的使用(经典,学习研究不后悔)
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://mzh3344258.blog.51cto.com/1823534/1215749 ...
随机推荐
- 配置React Native环境
一. 安装Homebrew: “Homebrew installs the stuff you need that Apple didn’t.——Homebrew OS X 更完整”. Homebr ...
- Understanding delete
简述 我们都知道无法通过delete关键字针对变量和函数进行操作,而对于显示的对象属性声明却可以进行,这个原因需要深究到js的实现层上去,让我们跟随 Understanding delete 来探究一 ...
- Cesium原理篇:6 Render模块(5: VAO&RenderState&Command)
VAO VAO(Vertext Array Object),中文是顶点数组对象.之前在<Buffer>一文中,我们介绍了Cesium如何创建VBO的过程,而VAO可以简单的认为是基于VBO ...
- solr教程
转载请注明出处:http://www.cnblogs.com/zhuxiaojie/p/5764680.html 本教程基于solr5.5 前言 至于为什么要用solr5.5,因为最新的6.10,没有 ...
- 小白Linux入门 二
参考: http://edu.51cto.com/lesson/id-11222.html CPU中有计算单元 控制单元.它通过桥接芯片与存储器进行匹配 其中北桥是高速 南桥是低速 包括IDE USB ...
- C# 异步操作 async await
在编程的过程中,我们会遇到很多需要异步操作的场景.比如要下载一个文件,如果使用同步的方式进行下载,那么UI操作就会被卡住,这时最好能够使用异步的方式进行下载.在C#中,很早就开始支持异步的操作了,只不 ...
- C++异常处理: try,catch,throw,finally的用法
写在前面 所谓异常处理,即让一个程序运行时遇到自己无法处理的错误时抛出一个异常,希望调用者可以发现处理问题. 异常处理的基本思想是简化程序的错误代码,为程序键壮性提供一个标准检测机制. 也许我们已经使 ...
- C#根据句柄改变窗体控件值
需求是这样,有个程序界面我们需要通过自己的程序持续输入数据,界面如图. 可以获得控件的句柄而用钩子写入值.这里需要用到spy++工具.在VS的工具下有个spy++工具,打开如下图 通过这个工具可以获得 ...
- 关于大数据企业信息查询的API该怎么写
最近在看API相关的案例,做的是.net开发的工作 对API开发这块很是迷茫,不知道从哪入手,园子里面的朋友有没有研究这块的给点建议 公司目前准备做一款企业数据查询的网站,让我负责API接口这块,基于 ...
- 【MVC拾遗】MVC的单元测试简单学习总结
关于测试的必要性什么的已经在 重构与测试 里扯过了.倒也没必要说,写的代码多了自然就明白这个东西重要性. 当时说了坐等被推动去学习单元测试来着,然而等着被人推动的结果就是根本就没人来推你.o(∩_∩) ...