android:animateLayoutChanges在父布局中不起作用

Vic*_*újo 6 java animation android

假设我有一个如下结构的布局文件:

<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>
Run Code Online (Sandbox Code Playgroud)

我想动态地将文本字段添加到布局中insertionPoint,我希望看到它下面的元素(在这种情况下header2)向下滑动的动画.

android:animateLayoutChanges仅使用动画布局中的元素insertionPoint,因此没有动画header2.我该怎么办?

更清楚一点:我想在这里做的是类似动画,当我们向联系人添加更多字段(如电话号码)时,我们可以在ICS的People应用程序中看到这些动画.

谢谢!

tac*_*lux 4

API 16 添加了LayoutTransition.CHANGING动画类型,但默认情况下处于禁用状态。

启用:

LinearLayout linearLayout = (LinearLayout) findViewById(R.id.main);
linearLayout.getLayoutTransition().enableTransitionType(LayoutTransition.CHANGING);
Run Code Online (Sandbox Code Playgroud)

不错的 DevBytes 视频:https://www.youtube.com/watch? v=55wLsaWpQ4g