ViewGroup - 将XML内容添加到膨胀的ViewGroup中的不同容器中

时间:2014-11-05 19:13:52

标签: android android-layout android-linearlayout android-custom-view android-viewgroup

是否可以从包含一些静态对象的XML和另一个LinearLayout以及稍后的" XML"中扩展LinearLayout。代码在LinearLayout中使用,它的内容正在内部LinearLayout中添加。

删除了一些代码的说明:

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

然后我的View&#34; CustomLinearLayout&#34;或者我们所说的任何东西 当在另一个布局中使用视图时:

<com.my.views.CustomLinearLayout>

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

</com.my.views.CustomLinearLayout>

在这种情况下,不应在下面添加ImageButton&#34; bottom&#34;它应该加入其中。无论我在顶部,保持静态,我想要改变的任何东西都被添加到Bottom LinearLayout。

这可能吗?如果可以的话呢?

不确定它是好的还是坏的做法,如果能够奏效的话。但是如果我有一个恒定的布局(顶部容器,中间容器和底部容器)并且我有10个不同的活动而且只有一个更改内容是中间的,我可以轻松地在一个地方对顶部和底部容器进行一次更改10个地方,有什么&#34;查看&#34;我希望在我的活动中显示内容。

也许我需要为此创建一个全新的ViewGroup?但目前正在开发LinearLayout,因为它的功能非常符合我的需要。

如果没有,那么我正在寻找的是LinearLayout在何时何地读取XML的内容,然后覆盖要添加到我的内部LinearLayout的内容。

1 个答案:

答案 0 :(得分:0)

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

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