Salut, je suis en train d'animer la hauteur d'une vue en android dire toutes les 5 secondes: -Animer la hauteur d'une vue android
- hauteur va de 0 à 5
- hauteur va de 5 à 10
- hauteur va 10-3 etc
J'utilise le code ci-dessous: -
public class ShowAnimation extends Animation{
float finalHeight;
View imageview;
public ShowAnimation(View view,float deltaheight){
this.imageview=view;
this.finalHeight=deltaheight;
}
protected void applyTransformation(float interpolatedtime,Transformation t){
imageview.getLayoutParams().height=(int)(finalHeight*interpolatedtime);
imageview.requestLayout();
}
@Override
public void initialize(int width, int height, int parentWidth,
int parentHeight) {
super.initialize(width, height, parentWidth, parentHeight);
}
@Override
public boolean willChangeBounds() {
return true;
}
}
et l'initialiser comme ceci: -
Animation anidelta = new ShowAnimation(delta, deltaheight);
anidelta.setDuration(500/* animation time */);
delta.startAnimation(anidelta);
Mais avec ce que je reçois le ci-dessous: -
- hauteur va de 0 à 5
- hauteur va de 0 à 10
- hauteur va de 0 à 3
Je veux que la hauteur soit animée de sa hauteur précédente plutôt que à partir de 0 à chaque fois. Quelqu'un peut-il s'il vous plaît me aider
Edit1: - Je l'ai fait
Animation anidelta = new ShowAnimation(delta, deltaheight);
anidelta.setDuration(500/* animation time */);
anidelta.setFillAfter(true);
delta.startAnimation(anidelta);
Mais il anime encore de 0 à la NewHeight.
set animation.setFillAfter (true); Cela devrait résoudre le problème. –
@ShreyaShah Je l'ai fait mais ça ne marche pas. S'il vous plaît voir mon edit – Rasmus