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类

Android Shape总结的更多相关文章

  1. android shape使用总结

    今天使用到shape,这个里面有很多属性,在这里我记录一下各个属性的使用的情况以及所代表的意思 <?xml version="1.0" encoding="utf- ...

  2. android:shape

    android:shape=["rectangle" | "oval" | "line" | "ring"] shape ...

  3. Android shape的使用(圆角矩形)

    <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http: ...

  4. android shape详解

    shape--> shape属性: rectangle: 矩形,默认的形状,可以画出直角矩形.圆角矩形.弧形等 solid: 设置形状填充的颜色,只有android:color一个属性 andr ...

  5. android shape(如自定义Button)

    Shape 前言:有时候会去自己去画一些Button的样式来展现在UI当中,其中主要用到的就是Shape 先来看一段代码: <?xml version="1.0" encod ...

  6. android shape的使用详解以及常用效果(渐变色、分割线、边框、半透明阴影效果等)

    shape使用.渐变色.分割线.边框.半透明.半透明阴影效果. 首先简单了解一下shape中常见的属性.(详细介绍参看  api文档 ) 转载请注明:Rflyee_大飞: http://blog.cs ...

  7. Android Shape画圆,矩形

    画圆环代码如下: 画圆环,外边的边界宽度大一点即可: <?xml version="1.0" encoding="utf-8"?> <shap ...

  8. ANDROID SHAPE画圆形背景_ANDROID实现角标布局

    ANDROID SHAPE画圆形背景_ANDROID实现角标布局 <?xml version="1.0" encoding="UTF-8"?> &l ...

  9. android shape总结 和控制的风格定制

    1:shape总结 1):shape文件是放置在drawable文件下的.res/drawable/filename.xml. 2):shape类型:android:shape. 一共同拥有四种:re ...

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

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://mzh3344258.blog.51cto.com/1823534/1215749 ...

随机推荐

  1. JavaScript的Tab切换

    在网页设计中经常要用到tab切换,遂整理了一下常用的两种方法. 先看一下示例代码: HTML: <!doctype html> <html lang="en"&g ...

  2. SQLServer 2012重启服务后,自增1的标识列一次增长了1000左右

    sql2012我重启了下sql服务,然后自增列Id居然一下子跳了1000,怎么回事啊?   如果第一条数据是1,我重启服务,再添加就是1001,如果继续添加不重启服务的话就是1002,如果再次重启的话 ...

  3. GeoServer中利用SLD配图之矢量图层配图

    文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/. 1 背景 我们在ArcMap中可以直接通过symbol功能对图层进行定 ...

  4. 到处都是坑的微信支付V3之 微信支付回调页面

    据上次 到处都是坑的微信支付V3 后很多园友在被虐了千百遍后终于跳转到了亲切的微信支付界面,但输入密码支付后却不知道怎么处理了,接下来补上支付后的处理流程. 1. html中根据前台支付后反馈信息成功 ...

  5. Django admin 权威指南(一)

    版本: Django 1.10 此部分由官方文档<6.5.1 The Django admin site>翻译而来. 6.5.1.1 概览 默认情况下,使用startproject的时候, ...

  6. NSPredicate 的使用

    NSPredicate是什么? NSPredicate 是预测的意思 但是我们常翻译成谓词 它可以干什么? 使用NSPredicate可以定义模糊查询条件 根据一定的条件 我们就可以从一个数组中快速找 ...

  7. 注册表(C#)

    Windowa注册表是包含Windows安装,用户喜好以及以安装软件和设备的所有配置信息的核心储存库.COM组件必须把它的信息出存在注册表中,才能被客户程序使用.注册表也包含了一些系统配置的信息,这些 ...

  8. Python_Day_04 set方法总结

    set(集合) 直接创建一个空集合 set_empty = set() print(set_empty) # set() 根据参数创建 # 根据参数 set_argument = set(42,',' ...

  9. Keil环境中建立带FreeRTOS的STM32L项目

    本文是网上转载,版权所有. Keil环境中建立带FreeRTOS的STM32L项目 1.先把source文件夹复制至project目录,然后在keil中添加RTOS文件,如图: 其中heap_2.c按 ...

  10. ROWNUMBER() OVER( PARTITION BY COL1 ORDER BY COL2)用法,先分组,然后在组内排名,分组计算,主表与附表一对多取唯一等

    ROWNUMBER() OVER( PARTITION BY COL1 ORDER BY COL2)用法 今天在使用多字段去重时,由于某些字段有多种可能性,只需根据部分字段进行去重,在网上看到了row ...