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)向下滑动。

Using android:animateLayoutChangesonly 为布局中的元素设置动画insertionPoint,因此header2. 我应该怎么办?

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

谢谢!

4

1 回答 1

3

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

启用:

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

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

于 2015-04-29T22:22:34.210 回答