【发布时间】:2015-01-10 21:17:15
【问题描述】:
我正在尝试创建一个导航抽屉,类似于 Material 规范中的导航抽屉(比如新 gmail 应用中的导航抽屉)。注意导航抽屉的内容是如何绘制在状态栏后面的:
使用this question 的 Chris Banes 的回答,我能够成功地将应用程序中的导航抽屉绘制在状态栏后面;这工作正常。不起作用的是在状态栏后面绘制导航抽屉的内容。我希望抽屉中的蓝色图像显示在状态栏的后面,但该区域是用状态栏的颜色绘制的,如此屏幕截图所示。
那么,我怎样才能让我的导航抽屉在状态栏后面的区域中绘制呢?我已经在下面发布了我项目的相关部分。
包含导航抽屉的基本布局:
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/nav_drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:fitsSystemWindows="true">
<!-- Framelayout to display Fragments -->
<FrameLayout
android:id="@+id/content"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_above="@+id/warning_container" />
<FrameLayout
android:id="@+id/navigation_drawer_fragment_container"
android:layout_width="300dp"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
android:layout_gravity="start">
<fragment
android:id="@+id/navigation_drawer_fragment"
android:name="com.thebluealliance.androidclient.fragments.NavigationDrawerFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:layout="@layout/fragment_navigation_drawer" />
</FrameLayout>
</android.support.v4.widget.DrawerLayout>
我的活动主题
<style name="AppThemeNoActionBar" parent="AppTheme">
<item name="windowActionBar">false</item>
<item name="android:windowNoTitle">true</item>
<item name="android:windowDrawsSystemBarBackgrounds">true</item>
<item name="android:statusBarColor">@android:color/transparent</item>
</style>
在我的活动onCreate() 中,我执行以下操作:
mDrawerLayout.setStatusBarBackground(R.color.primary_dark);
【问题讨论】:
-
您查看过 Chris Banes 的问答吗? stackoverflow.com/q/26440879/82788
-
您阅读我的问题了吗?我特别提到我看了他的回答并按照他的指示进行操作。
-
对不起,我显然没有像我想象的那样彻底阅读它。 :)
标签: android android-layout android-navigation