工具栏上方的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顺序计数;最后一个项目将显示在顶部,所以您可能希望先放置,然后再放置。看看这个…希望有帮助