我正在设计基于Android Lollipop的应用程序,该应用程序会在状态栏下绘制Navigation Drawer。我已经部分成功了。我可以在状态栏下绘制抽屉,但不能绘制抽屉的内容。
抽屉上没有任何填充物,TextView
也没有空白。这是我的layout.xml文件:
<android.support.v4.widget.DrawerLayout
android:id="@+id/drawer_layout"
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=".HomeActivity"
android:fitsSystemWindows="true">
<!--window content -->
<LinearLayout
android:id="@+id/content_frame"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:fitsSystemWindows="true">
<Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="56dp"
android:background="#FF5722"
android:theme="@android:style/ThemeOverlay.Material.Dark.ActionBar"
android:minHeight="?android:attr/actionBarSize"
android:elevation="4dp"/>
<android.support.v7.widget.RecyclerView
android:id="@+id/grid_recycler_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scrollbars="vertical"/>
</LinearLayout>
<!-- The navigation drawer -->
<RelativeLayout
android:id="@+id/left_drawer"
android:layout_width="320dp"
android:layout_height="match_parent"
android:layout_gravity="start"
android:background="#f5f5f5"
android:elevation="16dp"
android:fitsSystemWindows="true">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello, Drawer!"
android:fitsSystemWindows="true"/>
</RelativeLayout>
</android.support.v4.widget.DrawerLayout>
我已经尝试过在
TextView
上放置一个负的顶部填充,但是它只是被剪切在状态栏的下面,而且我只是看到了抽屉的背景。如何在状态栏下绘制抽屉元素的子项?谢谢
最佳答案
事实证明,我认为android:fitsSystemWindows="true"
的作用与实际相反,因此只需从所有视图中删除它,它就可以正常工作。感谢Google Plus上的+der Android Pro。