3

背景のフェード アウト アニメーションを作成するために、Animation クラスの拡張機能を作成しました。ListView の行アイテムを押した後、アニメーションを開始します。次々と押すと、最初のアニメーションをキャンセルして2番目のアニメーションを開始したいと思います。しかし、私が抱えているバグは、アニメーションが停止しない行を次々とすばやく押すことです。applyTransformationデバッグ後、メソッドが最初のアニメーションで実行され続けることに気付きました。キャンセル機能をオーバーライドすることにしましたが、変換を停止するにはどうすればよいですか?

public BackgroundAnimation(View view, int color){
    this.view = view;
    setDuration(4000L);

    red = Color.red(color);
    blue = Color.blue(color);
    green = Color.green(color);
}
@Override
public void applyTransformation(float interpolatedTime,Transformation t){
    //super.applyTransformation(interpolatedTime, t);

    view.setBackgroundColor(Color.argb((int) ((1 - interpolatedTime) * 255), red, green, blue));

}
4

1 に答える 1