Android - 如何为不同的布局XML重用包装器布局?

时间:2016-03-08 15:55:22

标签: android xml android-layout

我想让每个活动都有一个相同的包装器布局,如抽屉或底部工具栏。创建BaseActivity以便为所有活动重用代码很容易。但是,如何将XML包装器重用于所有不同的活动布局,而不是动态地将不同的内容添加到同一XML文件中

例如,我有5个XML布局文件。它们应该有一个相同的包装器,在我修改其中一个之后,其他的应该同步更改。一个最简单的例子可能是抽屉:

<android.support.v4.widget.DrawerLayout 
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/drawer_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    // different content here

    <android.support.design.widget.NavigationView
        android:id="@+id/navigation_view"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_gravity="start"
        app:headerLayout="@layout/drawer_header"
        app:menu="@menu/drawer" />
</android.support.v4.widget.DrawerLayout>

2 个答案:

答案 0 :(得分:0)

您可以在其中创建活动并添加/删除片段,这样活动将包含所有常见的UI组件,并且不同的视图将位于片段中 http://developer.android.com/training/basics/fragments/index.html

答案 1 :(得分:0)

您可以创建分隔的布局并使用标记,并且您的所有活动都将继承“BaseActivity”以设置内容,然后,在您的子活动中,它将找到“内容”的ID,以及代替它。 这对你有用吗? 请注意,内容可能是要替换的简单ViewGroup。