ValueAnimation是ObjectAnimation類的父類,經過前幾天的介紹,相信大家對ObjectAnimation有了 一定的認識,今天就為大家最後介紹一下ValueAnimation,ValueAnimation谷歌提供了更好的過程控制,現在就以一個類計時的小動畫為大家簡單介紹一下:
應用的布局文件非常簡單,只有一個Button按鈕,就不再贅述了。下面重點介紹一下具體的實現:
public void init() {
button = (Button) findViewById(R.id.fourbutton);
button.setOnClickListener(new myButtonListener());
}
public class myButtonListener implements View.OnClickListener{
@Override
public void onClick(View view) {
final ValueAnimator animator = ValueAnimator.ofInt(1, 100);
animator.setDuration(5000);
animator.setInterpolator(new LinearInterpolator());//線性效果變化
animator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
@Override
public void onAnimationUpdate(ValueAnimator valueAnimator) {
Integer integer = (Integer) animator.getAnimatedValue();
button.setText("" + integer);
}
});
animator.start();
}
}
以上就是小應用的全部代碼了,重點在於addUpdateListener()方法的實現,通過重寫ValueAnimator.AnimatorUpdateListener()的onAnimationUpdate(ValueAnimator valueAnimator)方法來對動畫的整個實現過程進行控制。
到這裡關於Android的屬性動畫實現就介紹完畢了,現在進行一下總結。
1、常用屬性:
translationX/translationY:水平|豎直偏移量
rotation/rotationX/rotationY:3D翻轉
scaleX/scaleY:X軸|Y軸的縮放
X/Y:具體移動到的點
alpha:透明度
屬性動畫的這五個屬性,類似於以前的value動畫的四個屬性,不過屬性動畫框架的執行效率更高,效果更好。
2、常用方法和類:
ValueAnimation、ObjectAnimation類:對於這兩個類,相信大家一定不陌生了,更多的功能請查詢谷歌API
AnimationUpdateListener、AnimationListenerAdapter:用於做屬性動畫的監聽事件
PopertyValuesHolder:控制動畫集合的顯示效果、順序與流程控制
AnimationSet、TypeEvaluators:值計算器和差值計算器
Interpolator:動畫顯示的變化規律
3、Interpolator的屬性:
AccelerateInterpolator:不斷加速
DecelerateInterpolator:不斷減速
AnticipateInterpolator:前凸
OvershootInterpolator:尾翹
LinearInterpolator:線性變化
BounceInterpolator:自由落體
以上就是Interpolator差值器的6個屬性,大家可以在項目中都實驗一下,這樣可以更好的理解和使用。
到今天Android屬性動畫的總結就為大家奉獻完畢,歡迎交流學習。
Android 4.4.4 發布下載 http://www.linuxidc.com/Linux/2014-06/103467.htm
最簡單的Ubuntu Touch & Android 雙系統安裝方式 http://www.linuxidc.com/Linux/2014-01/94881.htm
在Nexus上實現Ubuntu和Android 4.4.2 雙啟動 http://www.linuxidc.com/Linux/2014-05/101849.htm
Ubuntu 14.04 配置 Android SDK 開發環境 http://www.linuxidc.com/Linux/2014-05/101039.htm
64位Ubuntu 11.10下Android開發環境的搭建(JDK+Eclipse+ADT+Android SDK詳細) http://www.linuxidc.com/Linux/2013-06/85303.htm
Ubuntu 14.04 x64配置Android 4.4 kitkat編譯環境的方法 http://www.linuxidc.com/Linux/2014-04/101148.htm
Ubuntu 12.10 x64 安裝 Android SDK http://www.linuxidc.com/Linux/2013-03/82005.htm
更多Android相關信息見Android 專題頁面 http://www.linuxidc.com/topicnews.aspx?tid=11