如何在每个布局页面中都有一个标题?

时间:2012-07-21 07:22:49

标签: java android user-interface

我想要这段代码:

<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");?>(只是一个例子,实际上这是不好的做法,这里没关系)。谢谢。

3 个答案:

答案 0 :(得分:2)

<include>标签就是您想要的。在Re-using Layouts with <include/>

中了解相关信息

答案 1 :(得分:2)

您可以使用布局中的<include .../>标记在需要的位置重复使用标头。有关示例,请参阅here

答案 2 :(得分:2)

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

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

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

android:layout_*

您可以在this page中查看有关详情的更多详细信息 的修改
如果您在包含布局中查找视图时遇到问题,请参阅此问题,我希望这些可以帮助您:
findViewById not working for an include?
Finding an view by id?