当前位置:操作系统 > 安卓/Android >>

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 ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,