Android shape drawable 讲解
2016-12-04 17:18
459 查看
最近一直很努力的在看Android文档 ,也希望早点把它结束掉。
在这里做个记录,写出我对shape drawable的理解和用法
首先在res/drawable文件夹下,新建一个文件,命名为:xxx.xml
内容如下:
图形有四种选择(选择你要定义的即可):
矩形:”rectangle” 椭圆或者圆: “oval” 直线: “line” 环形:”ring”
shape节点下可以添加如下小节点(并不是要全部写上):
角度:corners 只适用于当前图形是矩形 用来画圆角矩形 当然你强制用在别的图形上我也没办法。
渐变:gradient
内边距:padding
填充:solid
大小:size
边框:stroke
上面的几个子节点具体决定着你的图形长成啥样。
下面所说的
Dimension是安卓中可用的单位sp dp pt mm px in 主要用dp
color可用 RGB ARGB RRGGBB AARRGGBB的颜色值 也可以引用资源文件中的颜色
1.android:useLevel=“false”| “true”
useLevel=”true”只是用于 LevelListDrawable一般写false否则有可能你的圆环显示不出来
2.android:innerRadius=”Dimension” 圆环的内半径
3.android:innerRadiusRatio=”Float” 内环的比例,比如这个值为2,那么内环的半径就为外环半径除以2,默认值是9。注意:这个属性会被
innerRadius这个属性覆盖。
4.android:thickness=“Dimension”圆环的厚度
5.android:thicknessRatio=”Float” 环的厚度比例,比如这个值为2,那么环的厚度就为环半径除以2,同样的,如果设置了thickness,则这个属性不起作用。
现在还在写一些简单的文章。没有多大的技术性,希望自己早日能成为写牛逼文章的人。哈哈.
这就是sweep渐变。要说示例的话肯定好多,所以这里没放。只要把这些东西理解了,你就可以画出你想要的图形 。
在这里做个记录,写出我对shape drawable的理解和用法
开始
1、新建shape文件首先在res/drawable文件夹下,新建一个文件,命名为:xxx.xml
内容如下:
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="你想定义的图形,不写就是默认矩形" > </shape>
图形有四种选择(选择你要定义的即可):
矩形:”rectangle” 椭圆或者圆: “oval” 直线: “line” 环形:”ring”
shape节点下可以添加如下小节点(并不是要全部写上):
角度:corners 只适用于当前图形是矩形 用来画圆角矩形 当然你强制用在别的图形上我也没办法。
渐变:gradient
内边距:padding
填充:solid
大小:size
边框:stroke
上面的几个子节点具体决定着你的图形长成啥样。
下面所说的
Dimension是安卓中可用的单位sp dp pt mm px in 主要用dp
color可用 RGB ARGB RRGGBB AARRGGBB的颜色值 也可以引用资源文件中的颜色
<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape=["rectangle" | "oval" | "line" | "ring"] > <corners <!-- 四个角的的角度 --> android:radius="Dimension" <!-- 左上角的角度 --> android:topLeftRadius="Dimension" <!-- 右上角的角度--> android:topRightRadius="Dimension" <!--左下角的角度--> android:bottomLeftRadius="Dimension" <!--右下角的角度--> android:bottomRightRadius="Dimension" /> <gradient <!--渐变方向的角度 0 表示从左到右, 90 表示 从下 到上. 值必须是45的倍数,默认是鸡蛋--> android:angle="integer" <!--渐变的中心位置的X轴 float值(0 -1.0)--> android:centerX="integer" <!--渐变的中心位置的Y轴 float值(0 -1.0)--> android:centerY="integer" <!--渐变中心的颜色值--> android:centerColor="integer" <!--渐变结尾的颜色值--> android:endColor="color" <!--渐变开始的颜色值--> android:startColor="color" <!--type有三种选择。linear是默认的线性渐变 radial是放射状的渐变中心位置的颜色会取 startcolor。 sweep应该是角度渐变是一种 扫描形的渐变最后放个图看看--> android:type=["linear" | "radial" | "sweep"] <!--float值,这个属性只适用于type为radial的时候--> android:gradientRadius="Float" <!--配合量 一般是false。true只用在 使用LevelListDrawable的时候.--> android:useLevel=["true" | "false"] /> <padding <!--距离上下左右的内边距,具体应该是图形里面的内容 距离图形的padding--> android:left="Dimension" android:top="Dimension" android:right="Dimension" android:bottom="Dimension" /> <size <!--图形的宽高--> android:width="integer" android:height="integer" /> <solid <!--图形的的填充颜色--> android:color="Color" <stroke <!--边距的宽度,要给图形设置边框的话,你就必须加宽度--> android:width="Dimension" <!--边距的颜色--> android:color="color" <!--下面两个属性是用来画虚线边框的必须两个 一起用才有效--> <!--虚线的长度--> android:dashWidth="Dimension" <!--虚线之间的宽度--> android:dashGap="Dimension" /> </shape>
这里补充一些有关ring的特别属性
下面的属性用于 android:shape=”ring”的时候,这些属性和shape同一级别 直接写在它下面:1.android:useLevel=“false”| “true”
useLevel=”true”只是用于 LevelListDrawable一般写false否则有可能你的圆环显示不出来
2.android:innerRadius=”Dimension” 圆环的内半径
3.android:innerRadiusRatio=”Float” 内环的比例,比如这个值为2,那么内环的半径就为外环半径除以2,默认值是9。注意:这个属性会被
innerRadius这个属性覆盖。
4.android:thickness=“Dimension”圆环的厚度
5.android:thicknessRatio=”Float” 环的厚度比例,比如这个值为2,那么环的厚度就为环半径除以2,同样的,如果设置了thickness,则这个属性不起作用。
最后:
其实只要把属性理解了用shape drawable做一些简单的图形根本没问题现在还在写一些简单的文章。没有多大的技术性,希望自己早日能成为写牛逼文章的人。哈哈.
这就是sweep渐变。要说示例的话肯定好多,所以这里没放。只要把这些东西理解了,你就可以画出你想要的图形 。
相关文章推荐
- 【Android UI】 Shape详解 (GradientDrawable)
- 【Android UI】 Shape详解 (GradientDrawable)
- 【Android UI】 Shape详解 (GradientDrawable)
- Android xml 效果之 Shape Drawable
- Android drawable shape绘制边框
- Android UI美化之Shape Drawable的使用
- Android Shape Drawable Resources TextView渐变 背景色 圆角
- Android Shape Drawable Resources TextView渐变 背景色 圆角
- Android Shape Drawable Resources
- Android的各种Drawable讲解
- 【转】Android UI美化之Shape Drawable的使用
- 【Android UI】 Shape详解 (GradientDrawable)
- 【Android UI】 Shape详解 (GradientDrawable)
- 【Android UI】 Shape详解 (GradientDrawable)
- 【Android UI】 Shape详解 (GradientDrawable)
- Android Shape Drawable Resources
- (android UI )shape详解,改变控件的默认样式(GradientDrawable)
- android UI之Shape详解_GradientDrawable
- [Android UI] Shape详解 (GradientDrawable)
- Android Shape Drawable 说明