2016-03-08 168 views
0

我想让每个活动都有一个像抽屉或底部工具栏一样的包装布局。很容易创建一个BaseActivity重用所有活动的代码。但是,如何将XML包装器重用于所有不同的活动布局而不是将不同的内容动态添加到同一个XML文件中Android - 如何重用不同布局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> 
+0

您可以使用'' – Raghunandan

+0

@Raghunandan包含布局但是我必须以这种方式为每个xml复制相同的包装。 – ProtossShuttle

回答

0

您可以创建活动,并添加/删除片段内它,这样的活动将举行所有常见的UI组件和不同的意见会在片段 http://developer.android.com/training/basics/fragments/index.html

+0

谢谢,但有没有什么方法可以直接在XML上工作?因为我的布局结构有点复杂,所以我必须以这种方式使用嵌套片段, – ProtossShuttle

+0

您必须按照@Raghunandan的建议使用布局。 –

0

您可以创建布局分隔并使用标记,并且所有活动都将继承一个“BaseActivity”,它将设置内容,然后在您的子活动中,它会找到“内容“,并将其替换。 这是否适合你?
请注意,内容可能是一个简单的ViewGroup被替换。