2

我想要这段代码:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" >

<TextView android:id="@+id/logo" style="@style/logo"
    android:layout_alignParentTop="true"
    android:text="@string/logo" tools:context=".MainActivity" />

从每个布局开始。我怎样才能做到这一点,我不需要将它添加到每个布局页面?就像我会使用的 PHP 一样<?=include("header.php");?>(只是一个例子,实际上这是不好的做法,在这里没关系)。谢谢你。

4

3 回答 3

2

<include>标签就是你想要的。在Re-using Layouts with中阅读它<include/>

于 2012-07-21T07:30:20.033 回答
2

您可以<include .../>在布局中使用标签在需要的地方重用标题。有关示例,请参见此处。

于 2012-07-21T07:30:21.263 回答
2

将您的标头保存在 XML 文件中,然后将此 XML 作为子布局包含在其他布局中:

<include  layout="@layout/headerlayout" android:id="@+id/headerLayoutid"  ...  />

headerlayout.xml 是您应该在其中定义的上述布局的名称,并且res/layout您喜欢在所有布局中显示为标题(layout="@layout/headerlayout"),headerLayoutid 也是您的标题布局的 ID(在它的父级中),您可以在您的父级中引用它布局或在您的代码中。
您可以覆盖所有布局参数。这意味着任何android:layout_*属性都可以与标签一起使用。这是一个例子:

<include android:layout_width="fill_parent" layout="@layout/image_holder" />  

您可以在 about include in this page中查看更多详细信息。
编辑
如果您在查找包含布局中的视图时遇到问题,请参阅此问题,希望这些对您有所帮助:
findViewById 不适用于包含?
通过 id 查找视图?

于 2012-07-21T07:35:11.397 回答