android2.2资源文件详解2--tween动画

说明:Animation是所有tween动画的父类,所以动画所具有的属性由自生和父类的属性和

Animation的子类有:AlphaAnimation,  RotateAnimation, ScaleAnimation, TranslateAnimation

Animation属性为:


        android:duration=""持续的时间 

        android:interpolator=""动画插入器,定义一个动画的变化率(the rate of change)。这使得基本的动画效果(alpha, scale, translate, rotate)得以加速,减速,重复等

        android:fillBefore=""当动画开始前,应用此动画变形

        android:fillAfter=""当该动画结束后用此动画变形

        android:fillEnabled="" 当设置为true时,fillAfter和fillBefroe将会都为true,,此时会忽略android:fillBefore 和 android:fillAfter两种属性

        android:startOffset=""与下个动画的间隔

        android:repeatCount=""重复次数

        android:repeatMode=""重复模式

        android:zAdjustment=""z轴变化

        android:detachWallpaper=""



二.anim文件夹下定义tween动画

1.存放位置:res/anim/文件名.xml,这个文件可以被作为id引用,对应的类型是Animation

2.资源调用:in code:R.anim.文件名 in xml:@[包名:]anim/文件名

3.格式说明:


<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" >
 <!-- 指定一个interpolator,可以是系统自带的也可以是自己定义的 -->
    android:interpolator="@[package:]anim/interpolator_resource"
    <!-- 是否在子元素中使用指定的interpolator -->
    android:shareInterpolator=["true" | "false"] >
    <!-- 淡入淡出动画,相当于AlphaAnimation -->
    <alpha 
        android:fromAlpha="float" ><!-- 开始的透明度 0.0----1.0 -->
        android:toAlpha="float" /> <!-- 结束的透明度 -->
        <!-- 缩放动画,相当于ScaleAnimation -->
        <scale
            android:fromXScale="float" <!-- 开始x缩放的倍数1.0不缩放 -->
            android:fromYScale="float" <!-- 开始缩放的倍数1.0不缩放-->
            android:pivotX="float" <!-- 相对于view的x坐标的x -->
            android:pivotY="float" <!-- 同上 -->
            android:toXScale="float" <!-- 结束时的x缩放倍数 -->
            android:toYScale="float" /> <!-- 结束时的y缩放倍数 -->
          <!-- 平移动画 -->
        <translate
            android:fromXDelta="float" <!-- 开始x -->
            android:fromYDelta="float" <!--开始y  -->
            android:toXDelta="float"
            android:toYDelta="float" />
             <!--旋转动画  -->
        <rotate
            android:fromDegrees="float" <!--开始角度  -->
            android:pivotX="float" <!-- 现对于view的x的x -->
            android:pivotY="float" <!--同上  -->
            android:toDegrees="float" /> <!-- 结束角度 -->
             <!-- 包含另一组动画 -->
        <set >

        ...
    
        </set>
    </alpha>
</set>

  在代码中使用:

ImageView image = (ImageView) findViewById(R.id.image);
Animation hyperspaceJump = AnimationUtils.loadAnimation(this, R.anim.hyperspace_jump);
 image.startAnimation(hyperspaceJump);
 

 补充:1.可以通过实现接口的方式给动画设置事件监听:实现接口AnimationListener

            设置事件监听:myAnimation.setAnimationLintener(this)

        2.插入器的使用(interpolator)

你可能感兴趣的:(android)