如何在android中包含布局内部布局
如何在Android中包含布局内部布局?
我正在创build共同的布局。 我想在另一个页面中包含该布局。
编辑:如在一个正确的请求在这里一些更多的信息。 使用include
标记
<include android:layout_width="fill_parent" android:layout_height="wrap_content" layout="@layout/yourlayout" />
包括您想要重复使用的布局。
检查此链接 …
请注意,如果您将android:id...
<include />
到<include />
标记中,它将覆盖在包含的布局中定义的任何id。 例如:
<include android:layout_width="fill_parent" android:layout_height="wrap_content" android:id="@+id/some_id_if_needed" layout="@layout/yourlayout" />
yourlayout.xml:
<LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:id="@+id/some_other_id"> <Button android:layout_width="fill_parent" android:layout_height="wrap_content" android:id="@+id/button1" /> </LinearLayout>
那么你可以在代码中引用这个包含的布局,如下所示:
View includedLayout = findViewById(R.id.some_id_if_needed); Button insideTheIncludedLayout = (Button)includedLayout.findViewById(R.id.button1);
使用<include />
标签。
<include android:id="@+id/some_id_if_needed" layout="@layout/some_layout"/>
另外,请阅读创build可重用UI组件和合并布局文章。
尝试这个
<include android:id="@+id/OnlineOffline" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentTop="true" layout="@layout/YourLayoutName" />
从关于重新使用布局的官方文件
尽pipeAndroid提供了各种各样的小部件来提供小型且可重用的交互元素,但您可能还需要重新使用需要特殊布局的较大组件。 为了有效地重新使用完整的布局,可以使用标签在当前布局中embedded另一个布局。
这是我的header.xml文件,我可以重复使用包含标记
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="#FFFFFF" > <TextView android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_centerHorizontal="true" android:layout_centerVertical="true" android:gravity="center" android:text="@string/app_name" android:textColor="#000000" /> </RelativeLayout>
不,我使用 在XML中添加标签以从另一个XML文件添加另一个布局。
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="#f0f0f0" > <include android:id="@+id/header_VIEW" android:layout_width="fill_parent" android:layout_height="wrap_content" layout="@layout/header" /> <LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_margin="5dp" android:background="#ffffff" android:orientation="vertical" android:padding="5dp" > </LinearLayout>