Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android Tween動畫

Android Tween動畫

編輯:關於Android編程

View Animation, 即顯示在view上的Tween Animation

Tween動畫,本質上不改變View對象本身,只改變它的繪制方式

兩種實現方式,一種在xml中定義,一種直接在代碼裡定義

xml定義方式:

位移動畫translate





旋轉動畫rotate




透明度漸變動畫alpha




縮放動畫scale




動畫集




    

    

    

    

代碼加載這些xml定義的動畫

	Animation translate = AnimationUtils.loadAnimation(this, R.anim.translate);
			imageview_translate.setBackground(getResources().getDrawable(R.drawable.a11));
			imageview_translate.startAnimation(translate);
			
			Animation rotate = AnimationUtils.loadAnimation(this, R.anim.rotate);
			imageview_rotate.setBackground(getResources().getDrawable(R.drawable.a11));
			imageview_rotate.startAnimation(rotate);
			
			Animation alpha = AnimationUtils.loadAnimation(this, R.anim.alpha);
			imageview_alpha.setBackground(getResources().getDrawable(R.drawable.a11));
			imageview_alpha.startAnimation(alpha);
			
			Animation scale = AnimationUtils.loadAnimation(this, R.anim.scale);
			imageview_scale.setBackground(getResources().getDrawable(R.drawable.a11));
			imageview_scale.startAnimation(scale);
			
			Animation set = AnimationUtils.loadAnimation(this, R.anim.set);
			imageview_set.setBackground(getResources().getDrawable(R.drawable.a11));
			imageview_set.startAnimation(set);

純代碼創建Tween Animation

AnimationSet animationSet = new AnimationSet(true);
			animationSet.addAnimation(scale);
			animationSet.addAnimation(translate);
			animationSet.addAnimation(alpha);
			animationSet.addAnimation(rotate);
			animationSet.setDuration(2000);
			animationSet.setRepeatCount(50);
			animationSet.setRepeatMode(Animation.RESTART);
//			animationSet.setRepeatMode(Animation.REVERSE);
			imageview_set.setBackground(getResources().getDrawable(R.drawable.a11));
			imageview_set.startAnimation(animationSet);
			
			TranslateAnimation translateAnimation;
			RotateAnimation rotateAnimation;
			AlphaAnimation alphaAnimation;
			ScaleAnimation scaleAnimation;
//			Animation.RELATIVE_TO_SELF	相對於自身
//			Animation.RELATIVE_TO_PARENT 相對於父View

設置動畫監聽器

	scale.setAnimationListener(new AnimationListener() {
				
				@Override //動畫開始
				public void onAnimationStart(Animation animation) {
					
				}
				
				@Override //動畫重復
				public void onAnimationRepeat(Animation animation) {
					
				}
				
				@Override //動畫結束
				public void onAnimationEnd(Animation animation) {
					
				}
			});

動畫插入器Interpolator

在animation的xml和代碼中 可以設置動畫的插入器,它用來指示動畫在持續時間內的動作的速率變化

android:interpolator="@android:anim/overshoot_interpolator"OvershootInterpolator

 



  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved