Espérons que je ne suis pas en train de dupliquer une question ici; Je ne pouvais pas en trouver un sur plusieurs ViewPropertyAnimators
. Le but est d'avoir une vue animée de y1 à y2 en 8 secondes. S'éclipser dans la première seconde, puis disparaître à la dernière seconde.Multiple ViewPropertyAnimators
Voici ce que j'ai essayé dans mon activité onCreate()
:
final View animatingView = findViewById(R.id.animateMe);
animatingView.post(new Runnable() {
@Override
public void run() {
//Translation
animatingView.setY(0);
animatingView.animate().translationY(800).setDuration(8000);
//Fading view in
animatingView.setAlpha(0f);
animatingView.animate().alpha(1f).setDuration(1000);
//Waiting 6 seconds and then fading the view back out
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
animatingView.animate().alpha(0f).setDuration(1000);
}
}, 6000);
}
});
Cependant, le résultat est une traduction 0-800 et alpha de 0 à 1 en une seule seconde. puis 6 secondes plus tard, la vue s'estompe. Il ressemble à chaque fois que j'appelle View.animate() il renvoie le même ViewPropertyAnimator. Y a-t-il un moyen d'en avoir plusieurs? Je pensais à animer l'alpha de la vue, à imbriquer la vue dans une mise en page relative, puis à animer la traduction des mises en page relatives. Je préférerais ne pas suivre cette route si je n'ai pas à le faire. Est-ce que quelqu'un sait d'une meilleure solution?