Я хочу создать навигационный ящик, как активность. Для этого мой код -
<?xml version="1.0" encoding="utf-8"?>
<androidx.drawerlayout.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
tools:openDrawer="start">
<include
layout="@layout/app_bar_main_page"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<com.google.android.material.navigation.NavigationView
android:id="@+id/nav_view"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="start"
android:fitsSystemWindows="true"
app:headerLayout="@layout/nav_header_main_page"
app:menu="@menu/activity_main_page_drawer" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<include
android:id="@+id/toolbar"
layout="@layout/toolbar_home"/>
<com.mindorks.placeholderview.PlaceHolderView
android:id="@+id/galleryView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:scrollbars="vertical"/>
</LinearLayout>
<FrameLayout
android:layout_width="250dp"
android:layout_height="match_parent"
android:layout_gravity="left"
android:background="@android:color/white">
<com.mindorks.placeholderview.PlaceHolderView
android:id="@+id/drawerView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scrollbars="vertical"/>
</FrameLayout>
</androidx.drawerlayout.widget.DrawerLayout>
В макете app-bar-main-page - -
<?xml version="1.0" encoding="utf-8"?>
<androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainPageActivity">
<com.google.android.material.appbar.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/AppTheme.AppBarOverlay">
<androidx.appcompat.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" />
</com.google.android.material.appbar.AppBarLayout>
<include layout="@layout/content_main_page" />
<com.google.android.material.floatingactionbutton.FloatingActionButton
android:id="@+id/fab"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|end"
android:layout_margin="@dimen/fab_margin"
app:srcCompat="@android:drawable/ic_dialog_email" />
</androidx.coordinatorlayout.widget.CoordinatorLayout>
И панель инструментов home - -
<?xml version="1.0" encoding="utf-8"?>
<androidx.appcompat.widget.Toolbar
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="@color/colorPrimary">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textColor="#FFFFFF"
android:gravity="left|center"
android:layout_gravity="center"
android:textSize="18sp"
android:text="home"/>
</androidx.appcompat.widget.Toolbar>
А ящик основной страницы активности - -
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
tools:showIn="navigation_view">
<group android:checkableBehavior="single">
<item
android:id="@+id/nav_home"
android:icon="@drawable/ic_menu_camera"
android:title="@string/menu_home" />
<item
android:id="@+id/nav_gallery"
android:icon="@drawable/ic_menu_gallery"
android:title="@string/menu_gallery" />
<item
android:id="@+id/nav_slideshow"
android:icon="@drawable/ic_menu_slideshow"
android:title="@string/menu_slideshow" />
</group>
</menu>
Когда я запускаю этот код, я получаю исключение -
java .lang.IllegalStateException: дочерний ящик имеет абсолютный Гравитация ЛЕВАЯ, но этот DrawerLayout уже имеет вид ящика вдоль этого края в androidx.drawerlayout.widget.DrawerLayout.onMeasure (DrawerLayout. java: 1134) в android .view.View.measure (Просмотр. java: 23614 ) в android .view.ViewGroup.measureChildWithMargins (ViewGroup. java: 7020) в android .widget.FrameLayout.onMeasure (FrameLayout. java: 185) в androidx.appcompat.widget.ContentFrameLayout.on ( ContentFrameLayout. java: 143) в android .view.View.measure (просмотр. java: 23614) в android .view.ViewGroup.measureChildWithMargins (ViewGroup. java: 7020) в android .widget.LinearLayout.measureChildBeforeLayout (LinearLayout. java: 1535) в android .widget.LinearLayout.measureVertical (LinearLayo ut. java: 825) в android .widget.LinearLayout.onMeasure (LinearLayout. java: 704) в android .view.View.measure (Просмотреть. java: 23614) в android .view.ViewGroup.measureChildWithMargins (ViewGroup. java: 7020) в android .widget.FrameLayout.onMeasure (FrameLayout. java: 185) в android .view.View.measure (Просмотреть. java) : 23614) в android .view.ViewGroup.measureChildWithMargins (ViewGroup. java: 7020) в android .widget.LinearLayout.measureChildBeforeLayout (LinearLayout. java: 1535) в android .widget.Lar. measureVertical (LinearLayout. java: 825) в android .widget.LinearLayout.onMeasure (LinearLayout. java: 704) в android .view.View.measure (Просмотреть. java: 23614) в android .view.ViewGroup.measureChildWithMargins (ViewGroup. java: 7020) в android .widget.FrameLayout.onMeasure (FrameLayout. java: 185) в com. android .internal.policy.DecorView.onMeasure (DecorView. java: 1268) в android .view.View.measure (просмотр. java: 23614) в android .view.ViewRootImpl.performMeasure (ViewRootImpl. java: 2920) в android .view.ViewRootImpl.mea sureHierarchy (ViewRootImpl. java: 1691) в android .view.ViewRootImpl.performTraversals (ViewRootImpl. java: 1989) в android .view.ViewRootImpl.doTraversal (ViewRootImpl. java: 1575 at) 1071 * .view.ViewRootImpl $ TraversalRunnable.run (ViewRootImpl. java: 7636) в android .view.Choreographer $ CallbackRecord.run (хореограф. java: 1029) в android .view.Choreogbacks.Co. (Хореограф. java: 834) в android .view.Choreographer.doFrame (Хореограф. java: 763) в android .view.Choreographer $ FrameDisplayEventReceiver.run (Хореограф. java: 1015) в android .os.Handler.handleCallback (Обработчик. java: 873) в android .os.Handler.dispatchMessage (Обработчик. java: 99) в android .os.Looper.l oop (Looper. java: 224) на android .app.ActivityThread.main (ActivityThread. java: 7081) на java .lang.reflect.Method.invoke (собственный метод) на com. android .internal.os.RuntimeInit $ MethodAndArgsCaller.run (RuntimeInit. java: 536) в com. android .internal.os.ZygoteInit.main (ZygoteInit. java: 928)