Disons que j'ai une mise en page linéaire verticale avec:
[v1]
[v2]
Par défaut, v1 a visibily = GONE. Je voudrais montrer la v1 avec une animation développée et pousser la v2 en même temps.
J'ai essayé quelque chose comme ça:
Animation a = new Animation()
{
int initialHeight;
@Override
protected void applyTransformation(float interpolatedTime, Transformation t) {
final int newHeight = (int)(initialHeight * interpolatedTime);
v.getLayoutParams().height = newHeight;
v.requestLayout();
}
@Override
public void initialize(int width, int height, int parentWidth, int parentHeight) {
super.initialize(width, height, parentWidth, parentHeight);
initialHeight = height;
}
@Override
public boolean willChangeBounds() {
return true;
}
};
Mais avec cette solution, j'ai un clin d'œil lorsque l'animation démarre. Je pense que cela est dû à l'affichage de la v1 en taille réelle avant l'application de l'animation.
Avec javascript, c'est une ligne de jQuery! Une façon simple de le faire avec Android?