2012-07-30 17 views
6

Angenommen, ich habe eine Layout-Datei wie folgt strukturiert:android: animateLayoutChanges nicht in Mutter Layout arbeiten

<LinearLayout android:id="@+id/main" android:orientation="vertical" android:animateLayoutChanges="true"> 
    <EditText> 

    <TextView android:id="@+id/header1"> 
    <LinearLayout android:id="@+id/insertionPoint" android:orientation="vertical" android:animateLayoutChanges="true"> 
    </LinearLayout> 

    <TextView android:id="@+id/header2"> 
</LinearLayout> 

Ich möchte dynamisch Textfelder in den Layout-insertionPoint hinzufügen, und ich möchte eine Animation sehen die Elemente darunter (in diesem Fall header2) rutschen nach unten.

Mit android:animateLayoutChanges animiert nur die Elemente im Layout insertionPoint, so dass es keine Animation für header2 gibt. Was soll ich machen?

Nur um klarer zu werden: Was ich hier machen möchte, ist etwas wie die Animationen, die wir in der People App in ICS sehen, wenn wir einem Kontakt mehr Felder, wie Telefonnummern, hinzufügen.

Vielen Dank!

Antwort

2

API 16 hat den Animationstyp LayoutTransition.CHANGING hinzugefügt, ist jedoch standardmäßig deaktiviert.

zu aktivieren:

LinearLayout linearLayout = (LinearLayout) findViewById(R.id.main); 
linearLayout.getLayoutTransition().enableTransitionType(LayoutTransition.CHANGING); 

Nizza DevBytes Video: https://www.youtube.com/watch?v=55wLsaWpQ4g

Verwandte Themen