Android の ObjectAnimator について質問があります。ビューが上にスライドし (Y 値が減少)、その後同じ量「n」だけ下に戻り、続いてビューが再び上下にスライドしますが、今回は「n/2」だけスライドするバウンス効果をモデル化しようとしています (したがって、半分の距離)。
つまり、バウンスが大きくなり、バウンスが浅くなります。つまり、Mac アイコンが注意を引きたいときにトレイ内で行うようなものです。
これが私がこれまでに試したことです(v
は a であると仮定しますView
):
float y = v.getTranslationY(),distance = 20F;
AnimatorSet s = new AnimatorSet();
s.play(ObjectAnimator.ofFloat(v, "translationY", y- distance).setDuration(500))
.before(ObjectAnimator.ofFloat(v, "translationY", y).setDuration(500))
.before(ObjectAnimator.ofFloat(v, "translationY", y- (distance/2)).setDuration(500))
.before(ObjectAnimator.ofFloat(v, "translationY", y).setDuration(500));
s.start();
コードの品質は無視してください。これは POC です。私はこれがうまくいくことを望んでいましたが、.before()
.
何かが欠けているように見えるので、1 つに融合しない複雑な AnimatorSet チェーンを作成する方法を教えてください。
ボーナス:追加のポイントについては、AnimatorSet の繰り返しを設定するにはどうすればよいですか?
どうもありがとう!