Android应用资源---绘制资源类型(Drawable)(六)
缩放可绘制资源
定义在XML中的一个可绘制资源,它能够基于自己当前的级别来改变另一个可绘制资源的尺寸。
文件位置(FILE LOCATION):
res/drawable/filename.xml
文件名被用作资源ID。
被编译资源的数据类型(COMPILED RESOURCE DATATYPE):
资源指向一个ScaleDrawable对象。
资源引用(RESOURCE REFERENCE)
在Java代码中:R.drawable.filename
在XML中:@[package:]drawable/filename
语法(SYNTAX):
<?xml version="1.0" encoding="utf-8"?>
<scale
xmlns:android="http://schemas.android.com/apk/res/android"
android:drawable="@drawable/drawable_resource"
android:scaleGravity=["top" | "bottom" | "left" | "right" | "center_vertical" |
"fill_vertical" | "center_horizontal" | "fill_horizontal" |
"center" | "fill" | "clip_vertical" | "clip_horizontal"]
android:scaleHeight="percentage"
android:scaleWidth="percentage"/>
元素(ELEMENTS):
<scale>
定义缩放可绘制资源。它必须是根元素。
属性(ATTRIBUTES):
xmlns:android
字符串值,必须的。它定义了XML的命名空间,必须是:http://schemas.android.com/apk/res/android
android:drawable
可绘制资源,必须的,它指向一个要引用的可绘制资源。
android:scaleGravity
关键设置,它指定了缩放之后的重力位置。
它必须是下列常量的一个或多个组合(多个的场合用“|”符合来连接)。
值 | 说明 |
top | 把对象放到容器的顶部,不改变它的尺寸。 |
bottom | 把对象放到容器的底部,不改变它的尺寸。 |
left | 把对象放到容器的左边,不改变它的尺寸。这是默认的设置。 |
right | 把对象放到容器的右边,不改变它的尺寸。 |
center_vertical | 把对象放在容器的垂直中心位置,不改变它的尺寸。 |
fill_vertical | 如果需要,对象的垂直尺寸会增长,以便在垂直方向能够完全填充它的容器。 |
center_horizontal | 把对象放在容器的水平中心,不改变它的尺寸。 |
fill_horizontal | 如果需要,对象会增长它的水平尺寸,以便在水平方向能够完全填充它的容器。 |
center | 把对象放到它的容器的中心位置,不改变它的尺寸。 |
fill | 如果需要,对象水平和垂直尺寸都会增长,以便能够完全填充它的容器。 |
clip_vertical | 额外的选项,它能够把它的容器的上下边界,设置为子对象的上下边缘的裁剪边界。裁剪要基于对象垂直重力设置:如果重力设置为top,则裁剪下边,如果设置为bottom,则裁剪上边,否则则上下两边都要裁剪。 |
clip_horizontal | 额外的选项,它能够把它的容器的左右边界,设置为子对象的左右边缘的裁剪边界。裁剪要基于对象垂直重力设置:如果重力设置为right,则裁剪左边,如果设置为left,则裁剪右边,否则则左右两边都要裁剪。 |
android:scaleHeight
百分比。它指定了缩放的高度。用可绘制资源的上下边界之间高度的百分比来表示。格式是xx%,例如:100%,12.5%,等。
android:scaleWidth
百分比。它指定了缩放的宽度。用可绘制资源的左右边界之间宽度的百分比来表示。格式是xx%,例如:100%,12.5%等。
例子(EXAMPLE):
<?xml version="1.0" encoding="utf-8"?>
<scalexmlns:android="http://schemas.android.com/apk/res/android"
android:drawable="@drawable/logo"
android:scaleGravity="center_vertical|center_horizontal"
android:scaleHeight="80%"
android:scaleWidth="80%"/>
形状可绘制资源
它是定义在XML中的几何形状。
文件位置(FILE LOCATION):
res/drawable/filename.xml
文件被用作资源ID。
被编译资源的数据类型(COMPILED RESOURCE DATATYPE):
资源指向一个GradientDrawable对象
资源引用(RESOURCE REFERENCE):
在Java代码中:R.drawable.filename
在XML中:@[package]drawable/filename
语法(SYNTAX):
<?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="integer"
android:topLeftRadius="integer"
android:topRightRadius="integer"
android:bottomLeftRadius="integer"
android:bottomRightRadius="integer"/>
<gradient
android:angle="integer"
android:centerX="integer"
android:centerY="integer"
android:centerColor="integer"
android:endColor="color"
android:gradientRadius="integer"
android:startColor="color"
android:type=["linear" | "radial" | "sweep"]
android:useLevel=["true" | "false"] />
<padding
android:left="integer"
android:top="integer"
android:right="integer"
android:bottom="integer"/>
<size
android:width="integer"
android:height="integer"/>
<solid
android:color="color"/>
<stroke
android:width="integer"
android:color="color"
android:dashWidth="integer"
android:dashGap="integer"/>
</shape>
元素(ELEMENTS):
<shape>
定义一个几何形状资源,它必须是根元素。
属性(ATTRIBUTES):
xmlns:android<
补充:移动开发 , Android ,