[英]Android Animation Interpolator Change During Animation
我想要做的是例如使用線性插值器在視圖上加載一個動畫。 然后,當我的應用程序中發生某個事件時,將插值器更改為減速插值器。 因此,效果將是一個恆定的動畫,直到事件發生為止,然后動畫將減速至停止。 這有可能實現嗎? 我想知道我將如何實現這一目標,並且會喜歡某個方向。 謝謝!
是。 您將為動畫創建自定義插值器。 它包含您想要的其他插值器。 事件發生時,只需在插補器中觸發它,然后讓插補器將一個插補器交換為另一個插補器即可。
public class CompositeInterpolator implements TimeInterpolator {
LinearInterpolator mLinear;
DecelerateInterpolator mDecelerate;
boolean mUseLinear = false;
public CompositeInterpolator() {
mLinear = new LinearInterpolator();
mDecelerate = new DecelerateInterpolator();
}
public void useLinear(boolean use) {
mUseLinear = use;
}
@Override
public float getInterpolation(float input) {
if (mUseLinear) {
return mLinear.getInterpolation(input);
} else {
return mDecelerate.getInterpolation(input);
}
}
}
然后,當您要交換時,只需調用useLinear(false)
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.