- Android自帶的插值器
- 自定義插值器
- 插值器常用到工具
1. Android自帶的插值器
下圖爲Android自帶的所有插值器,用法爲android:interpolator="@android:interpolator/cycle"
cycle是插值器的名稱
詳細介紹:
插值器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. 插值器常用到工具
我們在自定義插值器的時候,有時可能無法及時的看到起效果,那麼這時就需要一些工具來幫助我們了.