Animation Tween动画可以通过java代码实现,也可以通过xml布局来实现

1.通过java代码实现:
package com.Aina.Android;import android.content.Context;import android.graphics.Bitmap;import android.graphics.Canvas;import android.graphics.Paint;import android.graphics.drawable.BitmapDrawable;import android.view.KeyEvent;import android.view.View;import android.view.animation.AlphaAnimation;import android.view.animation.Animation;import android.view.animation.RotateAnimation;import android.view.animation.ScaleAnimation;import android.view.animation.TranslateAnimation;/** * com.Aina.Android Pro_AnimationTween *  * @author Aina.huang E-mail: [email protected] * @version 创建时间:2010 Jun 17, 2010 5:15:36 PM 类说明 */public class GameView extends View {private Paint mPaint = null;private Animation mAlphaAnimation = null;private Animation mScaleAnimation = null;private Animation mTranslateAnimation = null;private Animation mRotateAnimation = null;private Bitmap mBitmap = null;public GameView(Context context) {super(context);mBitmap = ((BitmapDrawable) this.getResources().getDrawable(R.drawable.img)).getBitmap();}@Overrideprotected void onDraw(Canvas canvas) {super.onDraw(canvas);mPaint = new Paint();mPaint.setAntiAlias(true);canvas.drawBitmap(mBitmap, 0, 0, mPaint);}public boolean onKeyDown(int keyCode, KeyEvent event) {switch (keyCode) {case KeyEvent.KEYCODE_DPAD_UP:mAlphaAnimation = new AlphaAnimation(0.1f, 1.0f);// 透明度mAlphaAnimation.setDuration(3000);this.startAnimation(mAlphaAnimation);break;case KeyEvent.KEYCODE_DPAD_DOWN:mScaleAnimation = new ScaleAnimation(0.0f, 1.0f, 0.0f,1.0f,// 整个屏幕就0.0到1.0的大小//缩放Animation.RELATIVE_TO_SELF, 0.5f,Animation.RELATIVE_TO_SELF, 0.0f);mScaleAnimation.setDuration(3000);this.startAnimation(mScaleAnimation);break;case KeyEvent.KEYCODE_DPAD_LEFT:mTranslateAnimation = new TranslateAnimation(0, 100, 0, 100);// 移动mTranslateAnimation.setDuration(2000);this.startAnimation(mTranslateAnimation);break;case KeyEvent.KEYCODE_DPAD_RIGHT:mRotateAnimation = new RotateAnimation(0.0f, 360.0f,//旋转Animation.RELATIVE_TO_SELF, 0.5f,Animation.RELATIVE_TO_SELF, 0.5f);mRotateAnimation.setDuration(3000);this.startAnimation(mRotateAnimation);break;default:break;}return super.onKeyDown(keyCode, event);}}


package com.Aina.Android;import android.app.Activity;import android.os.Bundle;import android.view.KeyEvent;public class Test_AnimationTween extends Activity {    /** Called when the activity is first created. */private GameView gv = null;    @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        gv = new GameView(this);        this.setContentView(gv);    }@Overridepublic boolean onKeyDown(int keyCode, KeyEvent event) {return gv.onKeyDown(keyCode, event);}    }


2.通过xml布局实现:

<?xml version="1.0" encoding="utf-8"?><set xmlns:android="http://schemas.android.com/apk/res/android"><alpha android:fromAlpha="0.1" android:toAlpha="1.0"android:duration="3000"></alpha></set>


<?xml version="1.0" encoding="utf-8"?><set xmlns:android="http://schemas.android.com/apk/res/android"><scale android:fromXScale="0.0" android:toXScale="1.0"android:fromYScale="0.0" android:toYScale="1.0" android:pivotX="50%"android:pivotY="50%" android:fillAfter="false"android:duration="3000"></scale></set>


<?xml version="1.0" encoding="utf-8"?><set xmlns:android="http://schemas.android.com/apk/res/android"><translate android:fromXDelta="0" android:toXDelta="100"android:fromYDelta="0" android:toYDelta="100" android:duration="3000"></translate></set>


<?xml version="1.0" encoding="utf-8"?><set xmlns:android="http://schemas.android.com/apk/res/android"><rotateandroid:interpolator="@android:anim/accelerate_decelerate_interpolator"android:fromDegrees="0" android:toDegrees="+360" android:pivotX="50%"android:pivotY="50%" android:duration="3000"></rotate></set>


package com.Aina.Android;import android.content.Context;import android.graphics.Bitmap;import android.graphics.Canvas;import android.graphics.Paint;import android.graphics.drawable.BitmapDrawable;import android.view.KeyEvent;import android.view.View;import android.view.animation.AlphaAnimation;import android.view.animation.Animation;import android.view.animation.AnimationUtils;import android.view.animation.RotateAnimation;import android.view.animation.ScaleAnimation;import android.view.animation.TranslateAnimation;/** * com.Aina.Android Pro_AnimationTween *  * @author Aina.huang E-mail: [email protected] * @version 创建时间:2010 Jun 17, 2010 5:15:36 PM 类说明 */public class GameView extends View {private Paint mPaint = null;private Animation mAlphaAnimation = null;private Animation mScaleAnimation = null;private Animation mTranslateAnimation = null;private Animation mRotateAnimation = null;private Bitmap mBitmap = null;private Context mContext = null;public GameView(Context context) {super(context);mContext = context;mBitmap = ((BitmapDrawable) this.getResources().getDrawable(R.drawable.img)).getBitmap();}@Overrideprotected void onDraw(Canvas canvas) {super.onDraw(canvas);mPaint = new Paint();mPaint.setAntiAlias(true);canvas.drawBitmap(mBitmap, 0, 0, mPaint);}public boolean onKeyDown(int keyCode, KeyEvent event) {switch (keyCode) {case KeyEvent.KEYCODE_DPAD_UP://mAlphaAnimation = new AlphaAnimation(0.1f, 1.0f);// 透明度//mAlphaAnimation.setDuration(3000);mAlphaAnimation = AnimationUtils.loadAnimation(mContext, R.anim.alpha);this.startAnimation(mAlphaAnimation);break;case KeyEvent.KEYCODE_DPAD_DOWN://mScaleAnimation = new ScaleAnimation(0.0f, 1.0f, 0.0f,//1.0f,// 整个屏幕就0.0到1.0的大小//缩放//Animation.RELATIVE_TO_SELF, 0.5f,//Animation.RELATIVE_TO_SELF, 0.0f);//mScaleAnimation.setDuration(3000);mScaleAnimation = AnimationUtils.loadAnimation(mContext, R.anim.scale);this.startAnimation(mScaleAnimation);break;case KeyEvent.KEYCODE_DPAD_LEFT://mTranslateAnimation = new TranslateAnimation(0, 100, 0, 100);// 移动//mTranslateAnimation.setDuration(2000);mTranslateAnimation = AnimationUtils.loadAnimation(mContext, R.anim.translate);this.startAnimation(mTranslateAnimation);break;case KeyEvent.KEYCODE_DPAD_RIGHT://mRotateAnimation = new RotateAnimation(0.0f, 360.0f,//旋转//Animation.RELATIVE_TO_SELF, 0.5f,//Animation.RELATIVE_TO_SELF, 0.5f);//mRotateAnimation.setDuration(3000);mRotateAnimation = AnimationUtils.loadAnimation(mContext, R.anim.rotate);this.startAnimation(mRotateAnimation);break;default:break;}return super.onKeyDown(keyCode, event);}}

更多相关文章

  1. android学习记录
  2. android pinch:双指缩放图片和单指拖拽
  3. Android(安卓)TabHost 选项卡 滑动activity进行切换选项卡
  4. android 设置控件 圆角
  5. 超级简单的Google VR SDK播放VR视频
  6. Android上图片压缩方式
  7. Android从相册选择一个图片、剪切、上传
  8. android实现通知栏透明
  9. Android学习(10) -- 常见布局

随机推荐

  1. windows系统上安装配置使用Android(安卓)
  2. Android中的AIDL学习笔记(一)
  3. 再论android 2.2数据连接过程
  4. Android(安卓)进阶——Android(安卓)Stud
  5. 如何找到最好的Android应用程序开发者为
  6. 关于android的mk文件的一些见解
  7. Android(安卓)sdk manager无法更新问题,使
  8. Android(安卓)图片压缩终极解决方案
  9. Unity与Android对比学习之生命周期方法
  10. Android(安卓)Room 数据库迁移,或者说升