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

Android 動畫詳解之View動畫

編輯:關於Android編程

為了讓用戶的使用更舒適所以有些情況使用動畫是很有必要的,Android在3.0以前支持倆種動畫Tween動畫以及Frame動畫。Tween動畫支持簡單的平移,縮放,旋轉,漸變,Frame動畫就像Gif圖通過一系列圖片來模擬動畫效果,而在Android 3.0以後引入了新的動畫就是屬性動畫(property animation), Android 分享一個簡單有趣的動畫效果 就是利用了屬性動畫。


今天我們主要來學習Tween動畫也就是View動畫。

View 動畫只能應用於View對象,而且只支持一部分屬性,而且對於View 動畫,它只是改變了View對象繪制的位置,而沒有改變View對象本身,比如當前有一個button的坐標是(200,200)通過平移動畫移動到(200,500),但是你點擊移動後的button是沒有任何效果,如下圖:

\

知道了這個大前提我們就開始了解View動畫的基本用法吧,動畫可以用java代碼寫也可以用xml寫<喎?/kf/ware/vc/" target="_blank" class="keylink">vc3Ryb25nPjwvcD4KPHA+MaOsxr3Sxravu608L3A+CjxwPjxwcmUgY2xhc3M9"brush:java;"> duration動畫時間,fillAfter保持動畫結束後狀態,fromXDelta起始X位置,fromYDelta起始Y位置,repeatCount重復次數,repeatMode重復模式 restart為正序 reverse為倒序,在java代碼中用

Animation animation =AnimationUtils.loadAnimation(this, R.anim.tran_btn);

view.startAnimation(animation);


Animation animation2 = new TranslateAnimation(0, 20, 0, 0);
		animation2.setDuration(2000);
		animation2.setRepeatCount(10);
		animation2.setRepeatMode(Animation.RESTART);
		button.startAnimation(animation2);
new TranslateAnimation(fromXDelta, toXDelta, fromYDelta, toYDelta)
看參數相信大家也都知道意思了


2,旋轉動畫




大致同上,pivot旋轉的中心點.

	Animation animation2 = new RotateAnimation(0, 360, 0, 0);
		animation2.setDuration(2000);
		button.startAnimation(animation2);
\


3,漸變動畫




其實看通一個剩下的都是觸類旁通
Animation animation = new AlphaAnimation(1, 0);
		animation.setDuration(3000);
		button.startAnimation(animation);
\

4,縮放動畫




\


ok,這下四種基本動畫都簡單的結束了一下,但是我們有時可能會有一些特殊的需求,比如讓播放一組動畫,這時我們可以使用set




    

    


這是旋轉於漸變同時播放,如果依次播放的話只需加上startOffset




    

    

這樣就可以依次播放,但有時我們想要一下特殊的效果比如說動畫的加速度,這時候我們可以用上interpolator,animation.setInterpolator(new AccelerateInterpolator());

AccelerateDecelerateInterpolator 在動畫開始與結束的地方速率改變比較慢,在中間的時候加速

AccelerateInterpolator 在動畫開始的地方速率改變比較慢,然後開始加速

AnticipateInterpolator 開始的時候向後然後向前甩

AnticipateOvershootInterpolator 開始的時候向後然後向前甩一定值後返回最後的值

BounceInterpolator 動畫結束的時候彈起

CycleInterpolator 動畫循環播放特定的次數,速率改變沿著正弦曲線

DecelerateInterpolator 在動畫開始的地方快然後慢

LinearInterpolator 以常量速率改變

OvershootInterpolator 向前甩一定值後再回到原來位置


謝謝耐心的看完,不積跬步無以至千裡,有什麼疑問的話也可以留言。。







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