android 动画 Tweened Animation 之 TranslateAnimation
来源:互联网 发布:vocaloid后期软件 编辑:程序博客网 时间:2024/04/29 03:28
android 系统提供了四种Tweened animation (补间动画):TranslateAnimation 、 AlphaAnimation 、 RotateAnimation 、 ScaleAnimation 。
TranslateAnimation: 移动 , 指示位置坐标的变化。
AlphaAnimation: 渐变 ,指示对象明暗(模糊,清晰)。
RotateAnimation: 旋转 , 基于某个条件做转动,eg:围绕view中心做逆时针旋转。
ScaleAnimation: 大小,改变对象的大小。
TranslateAnimation(移动补间动画)
TranslateAnimation 控制对象位置的动画类,用于控制View对象的位置继承自Animation,结构如下:
TranslateAnimation 中关键是定义View对象的起始点(fromX , fromY)和终止点( toX , toY)和动画持续时间 duration 。
下面结合实例,简单讲解一下使用移动动画类(TranslateAnimation)的步骤:
1、创建android工程神马的就不说了,在res\drawable目录下准备一张名为ting_frame_0的图片。在res\anim文件夹下创建文件 translate_anim.xml , 其内容如下:
<?xml version="1.0" encoding="utf-8"?><translate xmlns:android="http://schemas.android.com/apk/res/android" android:fromXDelta="0" android:toXDelta="500" android:fromYDelta="0" android:toYDelta="620" android:duration="200" android:repeatCount="-1" android:repeatMode="reverse"></translate>2、创建一个layout文件 translate_anim_layout.xml ,其内容如下:
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <ImageView android:id="@+id/translate_image" android:layout_width="80dp" android:layout_height="wrap_content" android:src="@drawable/ting_frame_0" android:contentDescription="@string/app_name" android:adjustViewBounds="true" android:scaleType="centerInside" /></LinearLayout>3、创建用于显示动画的activity 命名为 TranslateAnimActivity.java (该名可以随便取),内容如下:
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 动画 Tweened Animation 之 TranslateAnimation
- Android动画 Tweened Animation 之 ScaleAnimation
- Android动画 Tweened Animation 之 AlphaAnimation
- Android 动画 Tweened Animation 之 RotateAnimation
- Android 动画 Tweened Animation 之 RotateAnimation钟摆动画
- android开发动画总结一(tweened animation)
- Android动画 之 Tween Animation(TranslateAnimation 位置渐变)
- Android补间动画(View Animation,Tweened Animation)
- Android动画之TranslateAnimation
- Android动画-Tweened animation(补间动画)
- Android 的 Tweened animation
- Animation之TranslateAnimation(平移动画)
- Animation之TranslateAnimation(平移动画)
- Animation之TranslateAnimation(平移动画)2
- Android动画之TranslateAnimation使用
- Android tweened动画
- Android中Tweened animation简介
- Android中Tweened animation简介
- 向中间表中添加数据
- Naive Bayes 朴素贝叶斯的JAVA代码实现
- 【Cocos2d-x】Cocos2d-x参考案例源码解析之二:TestCpp万变不离其宗Main入口点
- 心在哪里,时间就在哪里
- Android游戏快速入门(二):绘制动态文字和图片
- android 动画 Tweened Animation 之 TranslateAnimation
- JavaScript toLowerCase() 方法
- (C语言队列的顺序实现(数据结构十)
- mysql中key 、primary key 、unique key 与index区别
- DOM结构与DOM操作
- JS技术大全(防止复制,粘贴等)
- c++头文件iomanip.h中的setw、setprecision、setfill和setbase函数
- unity小地图代码
- C++模板与STL库介绍