Android Interpolator屬性 設置動畫速度


Android開發中必定會涉及到動畫方面的效果,那么就會遇到一個問題,如果控制動畫開始速度,與結束速度。還有其他的一些效果

我們可以在xml里面設置屬性

android:interpolator="@android:anim/accelerate_interpolator" 設置動畫為加速動畫(動畫播放中越來越快)  
  
android:interpolator="@android:anim/decelerate_interpolator" 設置動畫為減速動畫(動畫播放中越來越慢)  
  
android:interpolator="@android:anim/accelerate_decelerate_interpolator" 設置動畫為先加速在減速(開始速度最快 逐漸減慢)  
  
android:interpolator="@android:anim/anticipate_interpolator" 先反向執行一段,然后再加速反向回來(相當於我們彈簧,先反向壓縮一小段,然后在加速彈出)  
  
android:interpolator="@android:anim/anticipate_overshoot_interpolator" 同上先反向一段,然后加速反向回來,執行完畢自帶回彈效果(更形象的彈簧效果)  
  
android:interpolator="@android:anim/bounce_interpolator" 執行完畢之后會回彈跳躍幾段(相當於我們高空掉下一顆皮球,到地面是會跳動幾下)  
  
android:interpolator="@android:anim/cycle_interpolator" 循環,動畫循環一定次數,值的改變為一正弦函數:Math.sin(2* mCycles* Math.PI* input)  
  
android:interpolator="@android:anim/linear_interpolator" 線性均勻改變  
  
android:interpolator="@android:anim/overshoot_interpolator" 加速執行,結束之后回彈  

然后我們在代碼中也可以設置,順序效果同上 

animation.setInterpolator(new AccelerateInterpolator());  
  
animation.setInterpolator(new DecelerateInterpolator());  
  
animation.setInterpolator(new AccelerateDecelerateInterpolator());  
  
animation.setInterpolator(new AnticipateInterpolator());  
  
animation.setInterpolator(new AnticipateOvershootInterpolator());  
  
animation.setInterpolator(new BounceInterpolator());  
  
animation.setInterpolator(new CycleInterpolator(2));  
  
animation.setInterpolator(new LinearInterpolator());  
  
animation.setInterpolator(new OvershootInterpolator());  

動畫不設置Interpolator屬性即為默認值,勻速

Interpolator屬性也可自定義


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM