2015-01-06 4 views
0

У меня есть 3 кнопки в RelativeLayout, я добился падения анимации (отскока) для каждой кнопки, но все кнопки падают одновременно. Я хочу, чтобы начать эту деятельность, каждая кнопка должна падать сверху друг за другом. Как я могу достичь этого эффекта?Button Fall Down One After Another Animation Android

Мой ява код

import android.animation.ObjectAnimator; 
import android.app.Activity; 
import android.os.Bundle; 
import android.view.View; 
import android.animation.PropertyValuesHolder; 
import android.view.ViewPropertyAnimator; 
import android.view.animation.BounceInterpolator; 
import android.widget.Button; 

public class MainActivity extends Activity { 
    Button ib,b2,b3; 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     ib = (Button) findViewById(R.id.btnAnim); 
     b2 = (Button) findViewById(R.id.btnAnim2); 
     b3 = (Button) findViewById(R.id.btnAnim3); 
     aniMate(ib); 
     aniMate(b2); 
     aniMate(b3); 
    } 
    public void aniMate(Button b){ 
     ObjectAnimator animY = ObjectAnimator.ofFloat(b, "translationY", -1000f, 0f); 
     animY.setDuration(1000); 
     animY.setInterpolator(new BounceInterpolator()); 
     animY.setRepeatCount(0); 
     animY.start(); 
    } 
} 

Мой XML-код

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:padding="16dip" 
    tools:context=".MainActivity"> 

    <Button 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="New Button" 
     android:id="@+id/btnAnim" 
     android:layout_alignParentBottom="true" 
     android:layout_centerHorizontal="true" /> 

    <Button 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="New Button" 
     android:id="@+id/btnAnim2" 
     android:layout_above="@+id/btnAnim" 
     android:layout_centerHorizontal="true" /> 

    <Button 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="New Button" 
     android:id="@+id/btnAnim3" 
     android:layout_above="@+id/btnAnim2" 
     android:layout_centerHorizontal="true" /> 

</RelativeLayout> 

ответ

1

Добавить AnimationListener к анимации. Вы можете начать следующий, когда закончится первый.

animation.setAnimationListener(new Animation.AnimationListener() 
    { 
     @Override 
     public void onAnimationStart(Animation animation) 
     { 
      //ignore 
     } 

     @Override 
     public void onAnimationEnd(Animation animation) 
     { 
      //start your next animation here 
     } 

     @Override 
     public void onAnimationRepeat(Animation animation) 
     { 
      //ignore 
     } 
    });