Disons que j'ai un linearLayout vertical avec :
[v1]
[v2]
Par défaut, v1 a visiblement = GONE. Je voudrais montrer v1 avec une animation d'expansion et pousser v2 vers le bas 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 clignotement lorsque l'animation commence. Je pense que c'est dû au fait que la v1 s'affiche en taille réelle avant que l'animation ne soit appliquée.
Avec javascript, c'est une ligne de jQuery ! Y a-t-il un moyen simple de faire cela avec Android ?