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

Android应用资源---动画资源(Animation Resources)(二)

上一篇:http://www.zzzyk.com/kf/201204/127802.html

视图动画框架支持补间动画和帧动画,它们都能够在XML中声明。以下介绍如如何使用这两种方法:

补间动画

在XML中定义的动画,他执行诸如旋转、渐变、移动和图形的拉伸。

文件位置(FILE LOCATION):

res/anim/filename.xml,文件名被用于资源ID。

编译资源类型(COMPILED RESOURCE DATATYPE):

资源指向一个Animation对象

资源引用(RESOURCE REFERENCE):

在Java代码中:R.anim.filename

在XML中:@[package:]anim/filename

语法(SYNTAX):

<?xml version="1.0" encoding="utf-8"?>
<setxmlns:android="http://schemas.android.com/apk/res/android"
    android:interpolator="@[package:]anim/interpolator_resource"
    android:shareInterpolator=["true" | "false"] >
    <alpha
        android:fromAlpha="float"
        android:toAlpha="float"/>
    <scale
        android:fromXScale="float"
        android:toXScale="float"
        android:fromYScale="float"
        android:toYScale="float"
        android:pivotX="float"
        android:pivotY="float"/>
    <translate
        android:fromXDelta="float"
        android:toXDelta="float"
        android:fromYDelta="float"
        android:toYDelta="float"/>
    <rotate
        android:fromDegrees="float"
        android:toDegrees="float"
        android:pivotX="float"
        android:pivotY="float"/>
    <set>
        ...
    </set>
</set>

这个文件必须有一个单独的根元素:既可以是<alpha>、<scale>、<translate>、<rotate>,也可以是持有一组其他动画元素的<set>元素(甚至使用嵌套的<set>元素)。

元素(ELEMENTS):

<set>

    它是一组动画元素的集合,可以包括<alpha>、<scale>、<translate>、<rotate>元素,也可以是另一个<set>元素集合。它代表了一个AnimationSet对象。

    属性(ATTRIBUTES):

    android:interpolator

    插补资源。它指定一个应用与动画的插补器。这个值必须引用特定的插补器资源(不是插补器类名)。可以利用来自平台的默认的插补器资源,也能够创建自己的插补器资源,更多的信息请参照稍后讨论的“插补器”。

    android:shareInterpolator

    布尔值,如果要在所有的子元素易做图享插补器,就要设置为”true”。

<alpha>

    设定渐进或渐出动画,代表一个AlphaAnimation对象。

    属性(ATTRIBUTES):

    android:fromAlpha

    浮点值。指定动画开始时,对象的透明偏移量。0.0是透明的,1.0是不透明的。

    android:toAlpha

    浮点值。指定动画结束时,对象的透明偏移量。0.0是透明的,1.0是不透明的。

关于<alpha>元素所支持的属性,请参看Animation类。

<scale>

    设定尺寸的动画。可以指定图片从它的中心点向外扩展或向内收缩,这个图片的初始大小可以通过pivotX和pivotY属性来指定。例如,如果这些值都设定为0,那么动画对象从左上角开始向右下角生长。它代表了一个ScaleAnimation对象。

    属性(ATTRIBUTES):

    android:fromXScale

    浮点值。动画开始,在X轴的偏移尺寸,1.0代表没有改变。

    android:toXScale

    浮点值。动画结束时,在X轴的偏移尺寸,1.0代表没有改变。

    android:fromYScale

    浮点值。动画开始,在Y轴的偏移尺寸,1.0代表没有改变。

    android:toYScale

    浮点值。动画结束时,在Y轴的偏移尺寸,1.0代表没有改变。

    android:pivotX

    浮点值。指定动画对象被缩放时,要保留的固定X轴的宽度。

    androd:pivotY

    浮点值。指定动画对象被缩放时,要保留的固定Y轴的宽度。

有关<scale>元素所支持的更多的属性,请参照Animation类。

 <translate>

    垂直或/和水平移动。以下属性都支持下列三种格式中任意一种格式的属性值:用“%”结尾的-100到100之间的数,指定相对与自身的百分比;用“%p”结尾的-100到100之间的数,指定相对于父窗口的百分比;不带有后缀的浮点数,指定移动的绝对值,它代表了一个TranslateAnimation对象。

    属性(ATTRIBUTES)

    android:fromXDelta

    浮点值或百分比,它设定了动画开始时X轴的偏移量,既可以是相对与普通位置的像素值(如5),也可以是相对与元素自身宽度的百分比(如5%),还可以是相对于父窗口宽度的百分比(如5%p)。

    android:toXDelta

    浮点值或百分比,它设定了动画结束时X轴的偏移量,既可以是相对与普通位置的像素值(如5),也可以是相对与元素自身宽度的百分比(如5%),还可以是相对于父窗口宽度的百分比(如5%p)。

    android:fromYDelta

    浮点值或百分比,它设定了动画开始时Y轴的偏移量,既可以是相对与普通位置的像素值(如5),也可以是相对与元素自身宽度的百分比(如5%),还可以是相对于父窗口宽度的百分比(如5%p)。

    android:toYDelta

    浮点值或百分比,它设定了动画结束时X轴的偏移量,既可以是相对与普通位置的像素值(如5),也可以是相对与元素自身宽度的百分比(如5%),还可以是相对于父窗口宽度的百分比(如5%p)。

有关<translate>元素支持的更多属性,请参照Animation类。

<roate>

一个旋转动画。代表一个RotateAnimation对象。

    属性(ATTRIBUTES)

    android:fromDegrees

    浮点值。指定动画开始时的角度。

    android:toDegrees

    浮点值,指定动画结束时的角度。

    android:pivotX

    浮点值或百分比,它是旋转中心的X轴坐标,既可以是相对于对象左边缘的像素值(如5),也可以是相对与对象左边缘的百分比(如5%),还可以是相对于父容器的左边缘的百分比(如5%p)。

    android:pivotY

    浮点值或百分比,它是旋转中心的Y轴坐标,既可以是相对于对象上边缘的像素值(如5),也可以是相对与对象上边缘的百分比(如5%),还可以是相对于父容器的上边缘的百分比(如5%p)。

有关<rotate>支持的更多属性,请参照Animation类。

例子

XML文件被保存在res/anim/hyperspace_jump.xml中:

<setxmlns:android="http://schemas.android.com/apk/res/android"
    android:shareInterpolator="false">
    <scale
        android:interpolator="@android:anim/accelerate_decelerate_interpolator"
        android:fromXScale="1.0"
        android:toXScale="1.4"
        android:fromYScale="1.0"
  &nbs

补充:移动开发 , Android ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,