mirror of
https://github.com/LawnchairLauncher/lawnchair.git
synced 2026-02-18 10:18:20 +00:00
26 lines
634 B
Java
26 lines
634 B
Java
|
|
package com.android.launcher3;
|
||
|
|
|
||
|
|
import android.animation.TimeInterpolator;
|
||
|
|
|
||
|
|
public class LogAccelerateInterpolator implements TimeInterpolator {
|
||
|
|
|
||
|
|
int mBase;
|
||
|
|
int mDrift;
|
||
|
|
final float mLogScale;
|
||
|
|
|
||
|
|
public LogAccelerateInterpolator(int base, int drift) {
|
||
|
|
mBase = base;
|
||
|
|
mDrift = drift;
|
||
|
|
mLogScale = 1f / computeLog(1, mBase, mDrift);
|
||
|
|
}
|
||
|
|
|
||
|
|
static float computeLog(float t, int base, int drift) {
|
||
|
|
return (float) -Math.pow(base, -t) + 1 + (drift * t);
|
||
|
|
}
|
||
|
|
|
||
|
|
@Override
|
||
|
|
public float getInterpolation(float t) {
|
||
|
|
return 1 - computeLog(1 - t, mBase, mDrift) * mLogScale;
|
||
|
|
}
|
||
|
|
}
|