私はいくつかのアンドロイドアニメーションについて学んでおり、次のことを実行したいと考えています:
バックグラウンド:
うさぎはもともと草の上で寝ています。ボタンを押すと、速度を落として空中(Xの位置)まで垂直に1回高くジャンプし、Xの位置からドロップオフを開始して垂直に数回バウンドし、最後に元の場所に戻ります。
飛行中は目を開け (drawable r_rabbit_wake400)、アニメーションを開始して草の上に留まった後は目を閉じます (drawable r_rabbit_sleep400)。
コード:
protected void onCreate(Bundle savedInstanceState)
{
....
button_rabbit.setBackgroundResource(R.drawable.r_rabbit_sleep400);
....
public void button_action_click (View view)
{
button_rabbit.setBackgroundResource(R.drawable.r_rabbit_wake400);
ObjectAnimator animY = ObjectAnimator.ofFloat(button_rabbit, "translationY", -500f, 0f);
animY.setDuration(1500);//1.5sec
animY.setInterpolator(new BounceInterpolator());
animY.setRepeatCount(0);
animY.start();
}
質問:
これは、うさぎがすぐに目を開けて草から離れ、直接空中に出て(減速の移行なしで)、数回跳ね返って草に戻り、その後地面に向かって落ちるという結果を出すだけです。その目を閉じた。
これらを使用して、アニメーションを2つの段階に分ける必要がありAnimationListener
ます:
- 芝生から空中へ減速しながら(Xの位置まで)
- 位置 X から、バウンスを開始します。
?
はいの場合、それらを使用してどのように書くことができonAnimationEnd
ますか? アドバイスありがとうございます!