0

是否可以从包含一些静态对象和另一个 LinearLayout 的 XML 中膨胀 LinearLayout 以及稍后在 LinearLayout 中使用“XML”代码时,它的内容被添加到内部 LinearLayout 中。

删除了一些代码的解释:

<LinearLayout id="main">
    <LinearLayout id="top">
        <TextView text="This is always here" />
        <ImageView src="@drawable/image_alwayshere" />
    </LinearLayout>
    <LinearLayout id="bottom">
    </LinearLayout>
</LinearLayout>

然后由我的视图“CustomLinearLayout”或我们称之为的任何内容以及在另一个布局中使用视图时进行膨胀:

<com.my.views.CustomLinearLayout>

    <ImageButton id="button1" src="@drawable/button1" />

</com.my.views.CustomLinearLayout>

在这种情况下,不应将 ImageButton 添加到“底部”下方,而应将其添加到其中。因此,无论我在顶部拥有什么,都保持静态,而我想要更改的任何内容都添加到底部线性布局中。

这是可能的吗?如果是的话,怎么做?

不确定这是好还是坏的做法,如果它会起作用。但是,如果我有一个恒定的布局(顶部容器、中间容器和底部容器)并且我有 10 个不同的活动并且唯一改变的内容是中间的,我可以轻松地在一个地方对顶部和底部容器进行一次更改10 个地方,并在里面添加我想在我的活动中显示的任何“视图”。

也许我需要为此创建一个全新的 ViewGroup?但是目前正在研究 LinearLayout,因为它的功能几乎是我所需要的。

如果不是,那么我正在寻找的是 LinearLayout 在何时何地读取 XML 的内容,然后将其覆盖以添加到我的内部 LinearLayout 中。

4

1 回答 1

-1

有可能,您可以使用include标记将其他 xml 布局添加到“底部”布局中,并使其可见性为“消失”,并在需要时将其更改为“可见”。

或者,您可以动态地执行此操作并在需要时膨胀 xml,然后使用ViewGroup.addView(View)方法将其添加到“底部”。

于 2014-11-05T19:22:28.057 回答