繁体   English   中英

如何将NavigationDrawer从活动模板添加到其他活动?

[英]How do I add NavigationDrawer from an activity template to other activities?

由于我以前没有使用过抽屉菜单,因此我一直在使用Android Studio的“抽屉菜单”活动模板。 这是布局文件。

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

    <!-- Includes a Toolbar and FloatingActionButton. Generated by Android Studio-->
    <include layout="@layout/app_bar_drawer_menu" android:layout_width="match_parent"
        android:layout_height="match_parent" />

    <android.support.design.widget.NavigationView android:id="@+id/nav_view"
        android:layout_width="wrap_content" android:layout_height="match_parent"
        android:layout_gravity="start" android:fitsSystemWindows="true"
        app:headerLayout="@layout/nav_header_drawer_menu"
        app:menu="@menu/activity_side_menu_drawer" />

</android.support.v4.widget.DrawerLayout>

Android Studio还生成了一个Activity类作为模板的一部分。 我的应用程序还具有使用LinearLayout的主要活动。 我想使用片段将抽屉菜单添加到主要活动(和其他活动)中,但是我不确定如何执行此操作。 我是否需要创建一个片段的新子类,并为片段类改编DrawerMenuActivity的回调方法? 然后,是否将片段标签添加到activity_main.xml?

这可能是您需要将头缠住的东西...

理想情况下,您希望通过使用片段事务并使用要放置在容器中的片段调用replace来为MainActivity交换位于xml中的容器中的片段。 这将允许您重复使用容器并将抽屉提供给整个应用程序。

否则,您将需要在每个活动中都包含抽屉,这会创建很多额外的代码,或者不提供抽屉,具体取决于您可能能够摆脱的活动。

因此,抽屉可以处理通过事务交换的碎片,而对于其他活动而言效果不佳。 它是您需要设计的东西。

请为活动创建一个带有生成抽屉的新项目,然后从那里开始。 另请阅读android开发人员教程中有关通讯的片段部分,以了解抽屉片段和活动如何进行通讯。

抽屉实际上涉及很多东西,但是您应该在一两天内就能掌握好。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM