工具栏上方的Android导航抽屉

工具栏上方的Android导航抽屉,android,android-fragments,android-navigation,Android,Android Fragments,Android Navigation,我正在创建一个带有透明的工具栏的应用程序,我希望导航抽屉显示在上面。现在我的主要布局是: <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent

我正在创建一个带有透明的
工具栏的应用程序,我希望
导航抽屉
显示在上面。现在我的主要布局是:

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <android.support.v4.widget.DrawerLayout
        android:id="@+id/drawer_layout"
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <!-- Main layout -->
        <FrameLayout
            android:id="@+id/main_fragment_container"
            android:layout_width="match_parent"
            android:layout_height="match_parent" />

        <!-- Toolbar -->
        <android.support.v7.widget.Toolbar
            xmlns:android="http://schemas.android.com/apk/res/android"
            xmlns:app="http://schemas.android.com/apk/res-auto"
            android:id="@+id/toolbar"
            app:theme="@style/ToolbarTheme"
            android:layout_width="match_parent"
            android:layout_height="?attr/actionBarSize"
            android:background="@android:color/transparent"/>

        <!-- Nav drawer -->
        <fragment
            android:id="@+id/fragment_drawer"
            android:name="rsay.android.scrollbanner.NavigationDrawerFragment"
            android:layout_width="@dimen/navigation_drawer_width"
            android:layout_height="match_parent"
            android:layout_gravity="left|start"
            tools:layout="@layout/fragment_navigation_drawer"/>

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

<!--<android.support.v7.widget.Toolbar-->
    <!--xmlns:android="http://schemas.android.com/apk/res/android"-->
    <!--xmlns:app="http://schemas.android.com/apk/res-auto"-->
    <!--android:id="@+id/toolbar"-->
    <!--app:theme="@style/ToolbarTheme"-->
    <!--android:layout_width="match_parent"-->
    <!--android:layout_height="?attr/actionBarSize"-->
    <!--android:background="@android:color/transparent"/>-->

</FrameLayout>

现在,这为我的导航抽屉提供了我需要的正确动画,但是我的内容(在另一个布局中)不会滚动。如果我在
导航抽屉
中注释掉当前的
工具栏
并取消注释底部的工具栏,我的内容将滚动,导航抽屉的高度正确,但工具栏位于导航抽屉的顶部,因此抽屉图标在抽屉中可见。我尝试一起删除工具栏并将其放置在我的内容布局中,但收到了一个空引用错误。我还尝试将我的
工具栏
放在
main\u fragment\u容器
中,这将
工具栏
放在我的内容后面,因此它不可见。在此方面的任何帮助都将不胜感激

你应该:

  • 去掉根
    FrameLayout

  • 如您所说,将
    工具栏
    放在
    主\u片段\u容器内。但必须将其转换为
    线性布局
    (例如),以便在顶部垂直显示工具栏,然后在顶部垂直显示内容(您可以将其嵌套到新的
    框架布局

您看到内容后面的工具栏是因为
FrameLayout
child重叠

<android.support.v4.widget.DrawerLayout>

    <LinearLayout>
        android:orientation="vertical"

        <android.support.v7.widget.Toolbar /> <!-- toolbar code here -->
        <RelativeLayout /> <!-- main layout here -->

    </LinearLayout>

    <fragment>  <!-- drawer stuff -->
        android:layout_gravity="start"
    </fragment>

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

android:orientation=“垂直”
android:layout\u gravity=“开始”

我这样做了,现在我的内容没有显示,只是一个空白背景。但工具栏和导航抽屉正在工作fine@Ryan这可能是android的布局和高度问题。我用一些代码进行了编辑,以确保我是清楚的。好的,我这样做了,现在除了工具栏下面的内容外,其他一切都正常了。它仍然是透明的,但只使用默认背景和content@Ryan工具栏与内容分开或重叠。如果希望它们重叠,请使用框架布局。在框架布局中,XML顺序计数;最后一个项目将显示在顶部,所以您可能希望先放置,然后再放置。看看这个…希望有帮助