读书人

android 动画片 Tweened Animation 之

发布时间: 2013-10-12 11:54:02 作者: rapoo

android 动画 Tweened Animation 之 TranslateAnimation

android 系统提供了四种Tweened animation (补间动画):TranslateAnimation 、 AlphaAnimation 、 RotateAnimation 、 ScaleAnimation 。

TranslateAnimation: 移动 , 指示位置坐标的变化。

AlphaAnimation: 渐变 ,指示对象明暗(模糊,清晰)。

RotateAnimation: 旋转 , 基于某个条件做转动,eg:围绕view中心做逆时针旋转。

ScaleAnimation: 大小,改变对象的大小。

TranslateAnimation(移动补间动画)

TranslateAnimation 控制对象位置的动画类,用于控制View对象的位置继承自Animation,结构如下:

android 动画片 Tweened Animation 之 TranslateAnimation

TranslateAnimation 中关键是定义View对象的起始点(fromX , fromY)和终止点( toX , toY)和动画持续时间 duration 。

下面结合实例,简单讲解一下使用移动动画类(TranslateAnimation)的步骤:

1、创建android工程神马的就不说了,在res\drawable目录下准备一张名为ting_frame_0的图片。在res\anim文件夹下创建文件 translate_anim.xml , 其内容如下:

import android.app.Activity;import android.os.Bundle;import android.view.animation.Animation;import android.view.animation.AnimationUtils;import android.widget.ImageView;public class TranslateAnimActivity extends Activity {    Animation mTranslate;    ImageView mTransImg;    @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.translate_anim_layout);        init();        mTranslate = (Animation) AnimationUtils.loadAnimation(this,                R.anim.translate_anim);    }    void init() {        mTransImg = (ImageView) findViewById(R.id.translate_image);    }    @Override    protected void onPause() {        super.onPause();        mTransImg.clearAnimation();    }    @Override    protected void onResume() {        super.onResume();        mTransImg.startAnimation(mTranslate);    }}
其中播放动画最好的做法是放到onWindowFocusChanged方法中。

加载定义在xml中的动画 AnimationUtils.loadAnimation(this, R.anim.translate_anim);
对View播放动画: mTransImg.startAnimation(mTranslate);
由于该文的实例是基于上文android动画——Frame by Frame Animation 创建的, 若对文中内容存在疑问的请留言,谢谢!















读书人网 >Android

热点推荐