0

在运行时将布局插入另一个布局的最佳方法是什么。具体来说,我有一个包含 ListView 的 FrameLayout。这是在一个 mainlayout.xml 文件中定义的,我有另一个布局文件定义 header.xml 中的标题。

1) 如何在 mainlayout.xml.(static case) 的定义中包含 headerlayout.xml 定义的布局,即不复制里面的所有内容但引用其他定义。

2) 如何在运行时将标题布局动态添加到 mainlayout.xml 中的特定位置?我知道充气和所有这些,只是不知道如何将它附加到我想要它在主布局中的位置。由于我没有在 mainlayout.xml 中包含整个定义,因此我如何在其中有一个占位符并在膨胀后将其动态设置在正确的位置。(动态案例)。

4

1 回答 1

2

静态案例。在你的内部mainlayout.xml

<include layout="@layout/header" id="@+id/header" />

可以是静态和动态的另一种解决方案是使用ViewStub

<ViewStub android:id="@+id/stub"
          android:inflatedId="@+id/subTree"
          android:layout="@layout/mySubTree"
          android:layout_width="120dip"
          android:layout_height="40dip" />
于 2012-08-10T07:14:39.380 回答