Android_插值器

  1. Android自帶的插值器
  2. 自定義插值器
  3. 插值器常用到工具

1. Android自帶的插值器

下圖爲Android自帶的所有插值器,用法爲android:interpolator="@android:interpolator/cycle" cycle是插值器的名稱
Android插值器
詳細介紹:

插值器java類 介紹 對應的資源文件
AccelerateDecelerateInterpolator 開始慢然後加速最後再減速 ,使用 @android:interpolator/accelerate_decelerate
AccelerateInterpolator 開始緩慢然後一直加速 @android:interpolator/accelerate_quad
AnticipateInterpolator 先向後 然後再向前 @android:interpolator/anticipate
AnticipateOvershootInterpolator 先向後 然後向前並且超過目標點 然後再回到目標點 @android:interpolator/anticipate_overshoot
BounceInterpolator 最後會反彈的插值器 @android:interpolator/bounce
CycleInterpolator 重複的插值器,其速率像正弦曲線 @android:interpolator/cycle
DecelerateInterpolator 開始速率很快 然後一直減速 @android:interpolator/decelerate_quad
LinearInterpolator 勻速插值器 @android:interpolator/linear
OvershootInterpolator 向前移動並超過目標值,最後再返回到目標點 @android:interpolator/overshoot
PathInterpolator 路徑插值器 慢進快出 @android:interpolator/fast_out_slow_in
PathInterpolator 路徑插值器 勻速進快速出 @android:interpolator/fast_out_linear_in
PathInterpolator 路徑插值器 慢進勻速出 @android:interpolator/linear_out_slow_in

2. 自定義插值器

自定義插值器 需要繼承Interpolator接口,實現`float getInterpolation(float input); 方法

如:
public class MyInterpolator implements Interpolator {
    @Override
    public float getInterpolation(float input) {
        return 2*input;
    }
}

使用:不過需要注意的一點就是自定義的插值器不能使用xml來設置,只能通過java代碼來設置如下

AlphaAnimation alphaAnimation = new AlphaAnimation(1.0f,0f);
alphaAnimation.setInterpolator(new MyInterpolator());

3. 插值器常用到工具

我們在自定義插值器的時候,有時可能無法及時的看到起效果,那麼這時就需要一些工具來幫助我們了.

插值器效果網站
貝塞爾曲線製作工具

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章