我想要这段代码:
<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");?>
(只是一个例子,实际上这是不好的做法,这里没关系)。谢谢。
答案 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?