在相对布局中 运行 时创建新视图(布局中间)

creating new view while running in relative layout (middle of the layout)

我有一个这样的 XML 文件,我希望通过按“+”按钮,用户可以向表单中添加更多姓名、地址等。 [与 Internet 上大多数具有 "Add more" 按钮的 Web 表单一样]

在 java 代码中,我使用 this 代码创建新的文本视图,而 运行,但我的问题是我找到的所有样本都是空的相对布局. 所以我试图在布局中间创建一个新的文本视图,我需要新视图后的视图向下移动。

如果我想改变每个视图,我的代码会很长,我觉得不合适。

我该怎么做?这是我的相对布局:

首先采用如下布局:

<LinearLayout android:id="@+id/root">
  <LinearLayout android:id="@+id/name_container">
      <Button android:id="@+id/add_name" />
  </LinearLayout>
  <LinearLayout android:id="@+id/address_container">
      <Button android:id="@+id/add_address"
  </LinearLayout>  
</LinearLayout>  

现在,每个 "containers" 将包含各自类型的 EditText。例如,name_container 将包含 EditText 作为名称,等等。

每当用户单击特定按钮时,只需膨胀适当类型的视图并将其添加到相应的容器中。如果要动画添加/删除视图,请使用 android:animateLayoutChanges="true"

这样,您将添加布局的视图 "in the middle"。 Android 将为您处理动画和重绘,而无需编写任何代码。