您的位置:首页 > 移动开发 > Android开发

android开发游记:xml配置图形文件

2016-01-06 16:09 555 查看
android提供了一种可使用配置文件替代图片资源的方法,一些简单的图片可以使用图形配置文件来代替,这样既可以节省空间减少app大小,也可以防止小图拉伸失真。所有一般在app中能够自己使用配置进行配置的图形一般都编写图形文件,而比较复杂的图片才使用图片文件格式。

下面介绍下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表示之间的间隔
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android xml图形文件