我有一个Android应用程序,我几乎在所有活动中都有侧边菜单。为此,我必须使用抽屉布局和一些其他项目来跟随我的活动xml以获得一致的UI。 例如
<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"
android:fitsSystemWindows="true">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<include layout="@layout/toolbar"
android:id="@+id/toolbar_container"/>
<<--ACTIVITY_XML-->>
</RelativeLayout>
</android.support.v4.widget.DrawerLayout>
有没有办法不反复复制代码。
我想到了一种方法,用include标签替换<<--ACTIVITY_XML-->>
。然后我会在我的基本活动中覆盖setContentView()
,其中我会膨胀上面提到的基本布局,然后在其中填充include标签。这在记忆和时间利用方面是好还是坏。
答案 0 :(得分:1)
有两种方法:
就个人而言,在我的应用程序中,我更喜欢覆盖setContentView以在每个活动中插入工具栏,为复制根布局的每个活动保留一个布局。
在您的情况下,最好使用“root”布局来扩展自定义活动xml来集中代码。但是,如果将来例如你想要删除一个活动的抽屉,你将必须管理它。