Je ne parviens pas à mettre l'animation de vue pour les dispositions gonflées. J'ai utilisé l'extrait de code suivant.
pageView.startAnimation(AnimationUtils.loadAnimation(this,R.anim.right_to_left_anim.xml));
et xml
<set xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:shareInterpolator="false">
<translate Android:fromXDelta="0%" Android:toXDelta="100%"
Android:fromYDelta="0%" Android:toYDelta="0%"
Android:duration="700"/>
</set>
Est-ce que quelque chose me manque?
Merci.
Voici le code de l'animation glissante pour la vue.
1)inFromRightAnimation
private Animation inFromRightAnimation() {
Animation inFromRight = new TranslateAnimation(
Animation.RELATIVE_TO_PARENT, +1.0f,
Animation.RELATIVE_TO_PARENT, 0.0f,
Animation.RELATIVE_TO_PARENT, 0.0f,
Animation.RELATIVE_TO_PARENT, 0.0f);
inFromRight.setDuration(500);
inFromRight.setInterpolator(new AccelerateInterpolator());
return inFromRight;
}
2)outToLeftAnimation
private Animation outToLeftAnimation() {
Animation outtoLeft = new TranslateAnimation(
Animation.RELATIVE_TO_PARENT, 0.0f,
Animation.RELATIVE_TO_PARENT, -1.0f,
Animation.RELATIVE_TO_PARENT, 0.0f,
Animation.RELATIVE_TO_PARENT, 0.0f);
outtoLeft.setDuration(500);
outtoLeft.setInterpolator(new AccelerateInterpolator());
return outtoLeft;
}
3)inFromLeftAnimation
private Animation inFromLeftAnimation() {
Animation inFromLeft = new TranslateAnimation(
Animation.RELATIVE_TO_PARENT, -1.0f,
Animation.RELATIVE_TO_PARENT, 0.0f,
Animation.RELATIVE_TO_PARENT, 0.0f,
Animation.RELATIVE_TO_PARENT, 0.0f);
inFromLeft.setDuration(500);
inFromLeft.setInterpolator(new AccelerateInterpolator());
return inFromLeft;
}
4)outToRightAnimation
private Animation outToRightAnimation() {
Animation outtoRight = new TranslateAnimation(
Animation.RELATIVE_TO_PARENT, 0.0f,
Animation.RELATIVE_TO_PARENT, +1.0f,
Animation.RELATIVE_TO_PARENT, 0.0f,
Animation.RELATIVE_TO_PARENT, 0.0f);
outtoRight.setDuration(500);
outtoRight.setInterpolator(new AccelerateInterpolator());
return outtoRight;
}
et maintenant démarrez Animation on view
pageView.startAnimation(inFromRightAnimation());
Merci,
Je sais que vous avez déjà accepté la réponse. Mais je pense que cette réponse sera utile pour quelqu'un qui lit ceci. Vous pouvez essayer enlever le .xml de, pageView.startAnimation(AnimationUtils.loadAnimation(this,R.anim.right_to_left_anim.xml));
Si vous essayez d'animer la vue lors de sa création, vous devez définir la propriété XML layoutAnimation
ou appeler setLayoutAnimation()
.
Si vous voulez simplement que votre vue ressemble à une vue en mouvement, vous avez besoin d'une TranslateAnimation
; voyez cette réponse: https://stackoverflow.com/a/4214490/832776 Si vous souhaitez répéter l'animation, appelez setAnimationListener()
et dans onAnimationEnd()
, redémarrez l'animation à nouveau.
Si vous essayez de déplacer la vue de façon permanente, voir ceci: http://www.clingmarks.com/how-to-permanently-move-view-with-animation-effect-in-Android/400