1

私はいくつかのアンドロイドアニメーションについて学んでおり、次のことを実行したいと考えています:

バックグラウンド:

うさぎはもともと草の上で寝ています。ボタンを押すと、速度を落として空中(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ます:

  1. 芝生から空中へ減速しながら(Xの位置まで)
  2. 位置 X から、バウンスを開始します。

?

はいの場合、それらを使用してどのように書くことができonAnimationEndますか? アドバイスありがとうございます!

4

0 に答える 0