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

时间:2016-01-23 15:01:20

标签: android android-relativelayout

我有一个像这样的XML文件,我想按下" +"按钮,用户应能够向表单添加更多名称,地址等。 [就像互联网上的大多数网页表格一样,有#34;添加更多"键]

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

如果我想改变每一个视图,我的代码将会很长,而且我认为它不合适。

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

enter image description here

1 个答案:

答案 0 :(得分:0)

首先要有这样的布局:

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

现在,这些“容器”中的每一个都将包含各自类型的EditText。例如,name_container将包含名称的EditText,依此类推。

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

这样,您就可以在布局的“中间”添加视图。 Android将为您处理动画和重绘,而无需编写任何代码。