485 Stimmen

Android: Animation aufklappen/zusammenklappen

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?

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X