歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> Android屬性動畫之ValueAnimation

Android屬性動畫之ValueAnimation

日期:2017/3/1 9:33:07   编辑:Linux編程

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

Copyright © Linux教程網 All Rights Reserved