android开发游记:xml配置图形文件
2016-01-06 16:09
555 查看
android提供了一种可使用配置文件替代图片资源的方法,一些简单的图片可以使用图形配置文件来代替,这样既可以节省空间减少app大小,也可以防止小图拉伸失真。所有一般在app中能够自己使用配置进行配置的图形一般都编写图形文件,而比较复杂的图片才使用图片文件格式。
下面介绍下shape标签的使用:
首先在drawable文件夹下创建一个xml文件,随意命名,例如shape_test.xml
这个xml文件能被当作一张图片来使用,下面一段代码标示下shape标签及其子标签和作用:
android:shape:定义shape的值,必须是下面的之一:
“rectangle” 矩阵,这也是默认的shape
“oval” 椭圆
“line” 一条水平的直线。这种shape必须使用 元素来定义这条线的宽度
“ring” 圆环
下面的属性只有当 android:shape=”ring”才使用:
android:innerRadius:内环的半径。一个尺寸值(dip等等)或者一个尺寸资源。
android:innerRadiusRatio:这个值表示内部环的比例,例如,如果innerRadiusRatio = ” 5 “,那么内部的半径等于环的宽度除以5。这个值会被innerRadius重写。 默认值是9。
android:thickness:环的厚度,是一个尺寸值或尺寸的资源。
android:thicknessRatio:厚度的比例。例如,如果thicknessRatio= ” 2 “,然后厚度等于环的宽度除以2。这个值是被innerRadius重写, 默认值是3。
android:useLevel:如果用在 LevelListDrawable里,那么就是true。如果通常不出现则为false。
android:angle :渐变的角度。 0 代表从 left 到 right。90 代表bottom到 top。必须是45的倍数,默认为0
android:centerX:渐变中心的相对X坐标,在0到1.0之间。
android:centerY:渐变中心的相对Y坐标,在0到1.0之间。
android:startColor:渐变开始的颜色值。
android:centerColor:渐变中的颜色值。基于startColor和endColor之间。
android:endColor:渐变结束的颜色。
android:gradientRadius:渐变的半径。只有在 android:type=”radial”才使用
android:type:渐变的模式,下面值之一:
“linear” 线形渐变。这也是默认的模式
“radial” 辐射渐变。startColor即辐射中心的颜色
“sweep” 扫描线渐变。
android:useLevel:如果在LevelListDrawable中使用,则为true
android:left:左边填充距离.
android:top:顶部填充距离.
android:right:右边填充距离.
android:bottom:底部填充距离.
android:height:这个shape的高度。
android:width:这个shape的宽度。
android:color:颜色值,十六进制数,或者一个Color资源
android:width:描边的粗细。
android:color:描边的颜色
android:dashGap:每画一条线就间隔多少。只有当android:dashWidth也设置了才有效。
android:dashWidth:每画一条线的长度。只有当 android:dashGap也设置了才有效。
dashGap和dashWidth设置这条线为虚线,其中dashWidth表示没一段的线宽,dashGap表示之间的间隔
下面介绍下shape标签的使用:
<shape xmlns:android="http://schemas.android.com/apk/res/android" > </shape >
首先在drawable文件夹下创建一个xml文件,随意命名,例如shape_test.xml
这个xml文件能被当作一张图片来使用,下面一段代码标示下shape标签及其子标签和作用:
<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" > <!-- 圆角 --> <corners android:radius="9dp" android:topLeftRadius="2dp" android:topRightRadius="2dp" android:bottomLeftRadius="2dp" android:bottomRightRadius="2dp"/><!-- 设置圆角半径 --> <!-- 渐变 --> <gradient android:startColor="@android:color/white" android:centerColor="@android:color/black" android:endColor="@android:color/black" android:useLevel="true" android:angle="45" android:type="radial" android:centerX="0" android:centerY="0" android:gradientRadius="90"/> <!-- 间隔 --> <padding android:left="2dp" android:top="2dp" android:right="2dp" android:bottom="2dp"/><!-- 各方向的间隔 --> <!-- 大小 --> <size android:width="50dp" android:height="50dp"/><!-- 宽度和高度 --> <!-- 填充 --> <solid android:color="@android:color/white"/><!-- 填充的颜色 --> <!-- 描边 --> <stroke android:width="2dp" android:color="@android:color/black" android:dashWidth="1dp" android:dashGap="2dp"/> </shape>
shape(图形)
shape图形的根元素android:shape:定义shape的值,必须是下面的之一:
“rectangle” 矩阵,这也是默认的shape
“oval” 椭圆
“line” 一条水平的直线。这种shape必须使用 元素来定义这条线的宽度
“ring” 圆环
下面的属性只有当 android:shape=”ring”才使用:
android:innerRadius:内环的半径。一个尺寸值(dip等等)或者一个尺寸资源。
android:innerRadiusRatio:这个值表示内部环的比例,例如,如果innerRadiusRatio = ” 5 “,那么内部的半径等于环的宽度除以5。这个值会被innerRadius重写。 默认值是9。
android:thickness:环的厚度,是一个尺寸值或尺寸的资源。
android:thicknessRatio:厚度的比例。例如,如果thicknessRatio= ” 2 “,然后厚度等于环的宽度除以2。这个值是被innerRadius重写, 默认值是3。
android:useLevel:如果用在 LevelListDrawable里,那么就是true。如果通常不出现则为false。
corners(圆角)
android:radius 指定了所有圆角的圆度,你也可以单独设置每个角的圆度,如:<corners android:topLeftRadius="2dp" android:topRightRadius="2dp" android:bottomLeftRadius="2dp" android:bottomRightRadius="2dp"/>
gradient(渐变)
填充颜色的渐变效果android:angle :渐变的角度。 0 代表从 left 到 right。90 代表bottom到 top。必须是45的倍数,默认为0
android:centerX:渐变中心的相对X坐标,在0到1.0之间。
android:centerY:渐变中心的相对Y坐标,在0到1.0之间。
android:startColor:渐变开始的颜色值。
android:centerColor:渐变中的颜色值。基于startColor和endColor之间。
android:endColor:渐变结束的颜色。
android:gradientRadius:渐变的半径。只有在 android:type=”radial”才使用
android:type:渐变的模式,下面值之一:
“linear” 线形渐变。这也是默认的模式
“radial” 辐射渐变。startColor即辐射中心的颜色
“sweep” 扫描线渐变。
android:useLevel:如果在LevelListDrawable中使用,则为true
padding(间隔)
内容与视图边界的距离android:left:左边填充距离.
android:top:顶部填充距离.
android:right:右边填充距离.
android:bottom:底部填充距离.
size(大小)
这个shape的大小android:height:这个shape的高度。
android:width:这个shape的宽度。
solid(填充)
填充这个shape的颜色android:color:颜色值,十六进制数,或者一个Color资源
stroke(描边)
这个shape使用的描边,当android:shape=”line”的时候,必须设置该元素。android:width:描边的粗细。
android:color:描边的颜色
android:dashGap:每画一条线就间隔多少。只有当android:dashWidth也设置了才有效。
android:dashWidth:每画一条线的长度。只有当 android:dashGap也设置了才有效。
dashGap和dashWidth设置这条线为虚线,其中dashWidth表示没一段的线宽,dashGap表示之间的间隔
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- Android IPC进程间通讯机制
- Android Manifest 用法
- [转载]Activity中ConfigChanges属性的用法
- Android之获取手机上的图片和视频缩略图thumbnails
- Android之使用Http协议实现文件上传功能
- Android学习笔记(二九):嵌入浏览器
- android string.xml文件中的整型和string型代替
- i-jetty环境搭配与编译
- android之定时器AlarmManager
- android wifi 无线调试
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- android 代码实现控件之间的间距
- android FragmentPagerAdapter的“标准”配置
- Android"解决"onTouch和onClick的冲突问题
- android:installLocation简析
- android searchView的关闭事件
- SourceProvider.getJniDirectories