android 插补器Interpolator的使用
今天,簡單講講android如何使用Interpolator。
其實很簡單,之前在看別人的博客時,看到別人使用Interpolator,居然不知道只有的Interpolator是什么作用,所以在網上查找了資料,這里記錄一下。
動畫的基本原理是從開始時間到結束時間一幀一幀的播放靜態圖像。Interpolator插值器來指定動畫如何變化的東東。Interpolator本質上講是一種數學函數,參數是0.0到1.0之間的浮點數,輸出值也是0.0到1.0的浮點數,曲線的斜率是速度。
先來張用了12不同插補器的效果圖:
圖中的序號和下面插入器的序號一致,以方便對照效果選擇
1:AccelerateDecelerateInterpolator 加速減速插補器(先慢后快再慢) 2:AccelerateInterpolator 加速插補器(先慢后快) 3:AnticipateInterpolator 向前插補器(先往回跑一點,再加速向前跑) 4:AnticipateOvershootInterpolator 向前向后插補器(先往回跑一點,再向后跑一點,再回到終點) 5:BounceInterpolator 反彈插補器(在動畫結束的時候回彈幾下,如果是豎直向下運動的話,就是玻璃球下掉彈幾下的效果) 6:CycleInterpolator 循環插補器(按指定的路徑以指定時間(或者是偏移量)的1/4、變速地執行一遍,再按指定的軌跡的相反反向走1/2的時間,再按指定的路徑方向走完剩余的1/4的時間,最后回到原點。假如:默認是讓a從原點往東跑100米。它會先往東跑100米,然后往西跑200米,再往東跑100米回到原點??稍诖a中指定循環的次數) 7:DecelerateInterpolator 減速插補器(先快后慢) 8:LinearInterpolator 直線插補器(勻速) 9:OvershootInterpolator 超出插補器(向前跑直到越界一點后,再往回跑) 10:FastOutLinearInInterpolator MaterialDesign基于貝塞爾曲線的插補器 效果:依次 慢慢快 11:FastOutSlowInInterpolator MaterialDesign基于貝塞爾曲線的插補器 效果:依次 慢快慢 12:LinearOutSlowInInterpolator MaterialDesign基于貝塞爾曲線的插補器 效果:依次 快慢慢
使用方法一:通過xml文件來設置
<?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">//對當前動畫設置插補器<translateandroid: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);
10:FastOutLinearInInterpolator MaterialDesign基于貝塞爾曲線的插補器 效果:依次 慢慢快
11:FastOutSlowInInterpolator MaterialDesign基于貝塞爾曲線的插補器 效果:依次 慢快慢
12:LinearOutSlowInInterpolator MaterialDesign基于貝塞爾曲線的插補器 效果:依次 快慢慢
這三個插補器Interpolator是新加入的,效果和前面的可能有相同的部分。
簡單講講,插補器Interpolator就是規定動畫如何運行,是先快后慢,還是先慢后快。具體的網上有很多例子,大家有興趣可以查找資料。
android 插補器Interpolator的使用就講完了。
就這么簡單。
總結
以上是生活随笔為你收集整理的android 插补器Interpolator的使用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: android 解决getNetwork
- 下一篇: android clipChildren