今、私はAndroid StudioでNavigationBarをテンプレートに事前設定してプロジェクトを開始しました。どうやらそれはナビゲーションドロワーをアクションバーの後ろに置きます。あなたが見つける多くの質問は、ナビゲーションドロワーをアクションバー、アクションバーの下から開始したいのですが、現在持っているものは次のとおりです。
最終的に望ましい状況:
this の解決策を見つけましたが、もっと簡単な方法があるはずだと思います。
この属性をルートビューグループに適用しますAndroid:layout_marginTop="?android:attr/actionBarSize"
。お役に立てれば。
このMainActivityレイアウトを試してください:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:layout_width="match_parent"
Android:layout_height="match_parent"
Android:fitsSystemWindows="true"
xmlns:app="http://schemas.Android.com/apk/res-auto"
xmlns:tools="http://schemas.Android.com/tools">
<Android.support.design.widget.AppBarLayout
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:id="@+id/app_bar"
Android:theme="@style/AppTheme.AppBarOverlay">
<Android.support.v7.widget.Toolbar
Android:id="@+id/toolbar"
Android:layout_width="match_parent"
Android:layout_height="?attr/actionBarSize"
Android:background="?attr/colorPrimary"
app:popupTheme="@style/AppTheme.PopupOverlay" />
</Android.support.design.widget.AppBarLayout>
<Android.support.v4.widget.DrawerLayout
Android:id="@+id/drawer_layout"
Android:layout_width="match_parent"
Android:layout_height="match_parent"
Android:layout_marginTop="?attr/actionBarSize"
Android:fitsSystemWindows="true">
<RelativeLayout
Android:layout_width="match_parent"
Android:layout_height="match_parent"
Android:paddingBottom="@dimen/activity_vertical_margin"
Android:paddingLeft="@dimen/activity_horizontal_margin"
Android:paddingRight="@dimen/activity_horizontal_margin"
Android:paddingTop="@dimen/activity_vertical_margin"
app:layout_behavior="@string/appbar_scrolling_view_behavior"
tools:showIn="@layout/app_bar_main">
<TextView
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:text="Put your content View here!" />
</RelativeLayout>
<Android.support.design.widget.NavigationView
Android:id="@+id/nav_view"
Android:layout_width="wrap_content"
Android:layout_height="match_parent"
Android:layout_gravity="start"
app:headerLayout="@layout/nav_header_main"
app:menu="@menu/activity_main_drawer" />
</Android.support.v4.widget.DrawerLayout>
</RelativeLayout>