2012-07-30 21 views
6

假設我有結構化的這樣一個佈局文件:安卓:animateLayoutChanges不會在父母佈置工作

<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> 

我要動態添加文本字段佈局insertionPoint,我想看到的動畫它下面的元素(在這種情況下,header2)滑落。

使用android:animateLayoutChanges只動畫布局insertionPoint中的元素,因此header2沒有動畫。我該怎麼辦?

只是爲了更清楚:我想在這裏做的事情就像我們在ICS的People應用程序中看到的動畫,當我們向聯繫人添加更多字段(如電話號碼)時。

謝謝!

回答

2

API 16添加了LayoutTransition.CHANGING動畫類型,但默認情況下它被禁用。

要啓用:

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

尼斯的DevBytes視頻:https://www.youtube.com/watch?v=55wLsaWpQ4g