如果我的布局名为 bottom.xml ,
bottom.xml: (只包含textview和编辑文本视图)
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:orientation="vertical"
>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:gravity="center_horizontal"
android:text="@string/username"
/>
<EditText
android:id="@+id/name"
android:layout_width="120dip"
android:layout_height="50dip"
android:layout_gravity="center_horizontal"
/>
</LinearLayout>
有没有办法在其他布局中嵌入上面的 bottom.xml 布局,而不是在多个布局文件中重复编写相同的代码(当其他布局的部分包含与bottom.xml相同的布局时)?
例如,如果我的 admin.xml 布局也包含与 bottom.xml ,如何在 admin.xml 中嵌入 bottom.xml ,而不是编写再次使用相同的代码?
的 admin.xml的: 的
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
>
...
...
<!--How to embed bottom.xml here-->
...
</LinearLayout>
如果在Android中无法做到这一点,可能是什么方法?
---------- -----------更新
与@xevincent建议一样,我可以使用<include>
标记重用 bottom.xml ,
但是如何更改已恢复布局中元素的ID?
例如,insdie bottom.xml ,当我重用<editText android:id="@+id/name">的ID更改为<editText android:id="@+id/other_name">
> bottom.xml 布局在其他布局中,如何更改id?
答案 0 :(得分:7)
请参阅此文档reusing layouts。
答案 1 :(得分:2)
只是upvote xevincent的anwser。我添加了这个答案,因为SO建议“始终引用重要链接中最相关的部分,以防目标站点无法访问或永久脱机。”
所以,基本上,his link解释说你应该使用<com.android.launcher.Workspace
android:id="@+id/workspace"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
launcher:defaultScreen="1">
<include android:id="@+id/cell1" layout="@layout/workspace_screen" />
<include android:id="@+id/cell2" layout="@layout/workspace_screen" />
<include android:id="@+id/cell3" layout="@layout/workspace_screen" />
</com.android.launcher.Workspace>
。
<include android:layout_width="fill_parent" layout="@layout/image_holder" />
并且知道您可以覆盖布局参数:
{{1}}
答案 2 :(得分:0)