Android:animateLayoutChanges在父布局中无法工作

7
假设我有一个像这样结构化的布局文件:

<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应用程序中的动画效果,当我们向联系人添加更多字段(例如电话号码)时。
谢谢!
1个回答

4

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

要启用:

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

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接