如何在不使用片段的情况下访问所有活动中的导航栏?

时间:2014-02-26 12:47:42

标签: android android-activity navigation navigation-drawer

如何在不使用片段的情况下访问所有活动中的导航抽屉? 我想在所有活动中访问导航抽屉。我不想使用碎片。相反我想使用活动。我知道碎片的使用比活动更好。 请帮帮我们。

2 个答案:

答案 0 :(得分:0)

你真的应该再想一想。不要害怕使用碎片,它们很好,将来你会经常使用它。我发现这种设计根本不需要它,它的灵活性较差,会导致糟糕的设计和代码冗余。您可以提及完整的方案,我们可以帮助您更好地设计您的应用程序。

答案 1 :(得分:0)

我认为您不能使用'NavigationDrawer'来执行此操作,您必须将'Fragments'与'NavigationDrawer'一起使用,我建议您以这种方式执行此操作以提高应用灵活性和用户界面。

首先:Google建议使用'Fragment'。要在Android上创建动态和多窗格用户界面,您需要将UI组件和活动行为封装到可以交换进出活动的模块中。您可以使用Fragment类创建这些模块,其行为有点像嵌套活动,可以定义自己的布局并管理自己的生命周期。

访问http://developer.android.com/training/basics/fragments/index.html

第二:主要内容视图(上面的FrameLayout)必须是DrawerLayout中的第一个子节点,因为XML顺序意味着z排序,抽屉必须位于内容之上。

<android.support.v4.widget.DrawerLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent">
<!-- The main content view -->
<FrameLayout
    android:id="@+id/content_frame"
    android:layout_width="match_parent"
    android:layout_height="match_parent" />
<!-- The navigation drawer -->
<ListView android:id="@+id/left_drawer"
    android:layout_width="240dp"
    android:layout_height="match_parent"
    android:layout_gravity="start"
    android:choiceMode="singleChoice"
    android:divider="@android:color/transparent"
    android:dividerHeight="0dp"
    android:background="#111"/>

访问http://developer.android.com/training/implementing-navigation/nav-drawer.html

第三:你想要这样的东西。 '导航中心'导航抽屉是应用程序结构的反映,并显示其主要导航中心。将导航集线器视为应用中用户希望经常访问的位置或用作应用程序其他部分的起点。导航集线器至少是顶级视图,因为它们对应于应用程序的主要功能区域。如果您的应用程序结构很深,您可以添加用户可能经常访问的较低级别的屏幕,并制作这些导航中心。

访问http://developer.android.com/design/patterns/navigation-drawer.html