Sagen wir, ich habe ein vertikales linearLayout mit :
[v1]
[v2]
Standardmäßig hat v1 visibily = GONE. Ich möchte v1 mit einer Expansionsanimation anzeigen und gleichzeitig v2 nach unten drücken.
Ich habe etwas Ähnliches versucht:
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;
}
};
Aber mit dieser Lösung habe ich ein Blinken, wenn die Animation beginnt. Ich denke, es ist durch v1 Anzeige der vollen Größe verursacht, bevor die Animation angewendet wird.
Mit javascript ist dies eine Zeile jQuery! Gibt es eine einfache Möglichkeit, dies mit Android zu tun?