插補器Interpolator配圖詳解
阿新 • • 發佈:2019-01-05
先來張用了12不同插補器的效果圖:
圖中的序號和下面插入器的序號一致,以方便對照效果選擇
1:AccelerateDecelerateInterpolator 加速減速插補器(先慢後快再慢)
2:AccelerateInterpolator 加速插補器(先慢後快)
3:AnticipateInterpolator 向前插補器(先往回跑一點,再加速向前跑)
4:AnticipateOvershootInterpolator 向前向後插補器(先往回跑一點,再向後跑一點,再回到終點)
5:BounceInterpolator 反彈插補器(在動畫結束的時候回彈幾下,如果是豎直向下運動的話,就是玻璃球下掉彈幾下的效果)
6 :CycleInterpolator 迴圈插補器(按指定的路徑以指定時間(或者是偏移量)的1/4、變速地執行一遍,再按指定的軌跡的相反反向走1/2的時間,再按指定的路徑方向走完剩餘的1/4的時間,最後回到原點。假如:預設是讓a從原點往東跑100米。它會先往東跑100米,然後往西跑200米,再往東跑100米回到原點。可在程式碼中指定迴圈的次數)
7:DecelerateInterpolator 減速插補器(先快後慢)
8:LinearInterpolator 直線插補器(勻速)
9:OvershootInterpolator 超出插補器(向前跑直到越界一點後,再往回跑)
10:FastOutLinearInInterpolator MaterialDesign基於貝塞爾曲線的插補器 效果:依次 慢慢快
11 :FastOutSlowInInterpolator MaterialDesign基於貝塞爾曲線的插補器 效果:依次 慢快慢
12:LinearOutSlowInInterpolator MaterialDesign基於貝塞爾曲線的插補器 效果:依次 快慢慢
使用方法一:
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:fillAfter="true"
android:interpolator="@android:anim/accelerate_interpolator" >//對當前動畫設定插補器
<translate
android:duration="2000"
android:fromXDelta="50%"
android:fromYDelta="0%"
android:interpolator="@android:anim/accelerate_interpolator"// 對當前節點設定插補器
android:toXDelta="500%"
android:toYDelta="0%" />
</set>
使用方法二:
Animation mAnimation = AnimationUtils.loadAnimation(this, R.anim.xxx);//引用動畫檔案
mAnimation.setInterpolator(new AccelerateDecelerateInterpolator());//程式碼設定插補器
view.startAnimation(mAnimation);