Android Shape总结

Shape的基础标签共有6个:corners, gradient, solid, stroke, padding, size

    1. Shape可以有四种形状:rectangle(矩形,默认形状),oval(椭圆形),ring(水平线),ring(环形)
    2. 关于corners标签:
      corners元素只适用于rectangle!
      总共有5个属性,一个总的圆角半径,或者四个角分别设置圆角半径,如果发生冲突,以该角单独设定的为准,与书写顺序无关。
    3. 关于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点钟位置开始,按照顺时针方向渐变。
    4. 关于stroke标签 表示描边。共有4个属性:color, width, dashWidth, dashGap
      width表示描边的粗细,边的中心以shape的长宽实际边界为准,向两边扩散。
      dashWidth, dashGap表示以描边画成虚线,这两个属性必须成对出现,缺一不可,分别表示单段虚线的长度和每两段虚线的间隔。
    5. 关于size标签 仅用于定义长宽,只有width和height两个属性
    6. shape类型为ring时
      注意,在Android Studio上实时展示的ring似乎有问题
      一般情况下必须设置useLevel为false,否则环形无法显示。
      此时相比其他形状,多了4个独有的属性(直接写在根元素):innerRadius(Radio),thickness(Radio)
      当设置stroke时,内外两侧都会有描边;当设置solid/gradient时,只会填充环,内圆永远为空。
    7. shape对应于android.graphics.drawable.GradientDrawable类
时间: 2024-10-22 12:09:56

Android Shape总结的相关文章

[转]Android Shape渲染的使用(经典,学习研究不后悔)

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://mzh3344258.blog.51cto.com/1823534/1215749 感觉好久都没有写博文了,感觉自己变懒了,真对不起…-_-…   也有部分原因是因为我想写的东 西网上已经有了,再加上还有很多方面小马我也正在学习,所以….这段时间一直暂停更新我的博客文 章,看到博客的访问量一天天的增加,很开心 ...O_O...这一阵子也看了各种各样的书籍,技 术类的.非技术类的

android shape

shape使用.渐变色.分割线.边框.半透明.半透明阴影效果. http://www.tuicool.com/articles/Q7Vree <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape=["rectangle" | &

Android Shape画圆,矩形

画圆环代码如下: 画圆环,外边的边界宽度大一点即可: <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="oval" android:useLevel="false" > <solid and

android shape的使用(转)

在Android程序开发中,我们经常会去用到Shape这个东西去定义各种各样的形状. shape用于设定形状,可以在selector,layout等里面使用,有6个子标签,各属性如下: <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape=&quo

android shape使用总结

今天使用到shape,这个里面有很多属性,在这里我记录一下各个属性的使用的情况以及所代表的意思 <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape=["rectangle" | "oval" | "

android shape图形优化Button效果

android shape可以让我们通过定义xml文件的方式创建图形,当然只能实现一些比较简单的图形(圆形,矩形,椭圆,线段),但是已经相当不错了,通过shape创建的图形作为控件的背景已经基本可以满足我的简单需求了,而且通过shape创建的图形可以适配各种屏幕. 下面就用shape定义的图形来优化Button的整体效果. 定义主布局文件activity_main.xml: 1 <RelativeLayout xmlns:android="http://schemas.android.co

Android shape的xml文件

Android shape的xml文件可以写不同形状.背景.边框.圆角等等效果,可以代替不少. 9图片的使用,缩小资源文件的大小.下面看一下shape可以包含的内容有哪些. 1 <?xml version="1.0" encoding="utf-8"?> 2 <shape 3 xmlns:android="http://schemas.android.com/apk/res/android" 4 android:shape=[&

android shape.xml 属性详解

转载源:http://blog.csdn.net/harvic880925/article/details/41850723 一.简单使用 刚开始,就先不讲一堆标签的意义及用法,先简单看看shape标签怎么用. 1.新建shape文件 首先在res/drawable文件夹下,新建一个文件,命名为:shape_radius.xml 内容是这样的:(先不需要理解,先看shape怎么用) [html] view plaincopy <?xml version="1.0" encodin

Android - shape不完整的圆环(ring)

shape不完整的圆环(ring) 本文地址: http://blog.csdn.net/caroline_wendy Android不仅可以画圆环(ring), 也可以使用属性"android:thicknessRatio", 画不完整的圆环. 把thicknessRatio属性值设为浮点小数, 如1.9, 即可以得到不完整的圆环. 代码: <?xml version="1.0" encoding="utf-8"?> <sha

Android - shape圆形画法(oval)

shape圆形画法(oval) 本文地址: http://blog.csdn.net/caroline_wendy 1. 创建一个文件夹drawable, 用于存放xml类型的图片资源; 2. 在drawable中建立一个shape标签的文件: <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/an