DrawerLayout + BottomNavigation с ViewPager и заменить фрагмент - PullRequest
0 голосов
/ 15 апреля 2019

Прежде всего, пожалуйста, прости меня, если я ошибся. Здесь я пытаюсь сделать DrawerLayout (скажем, с 6 меню) с BottomNavigationView (4 меню снизу), используя View Pager.

Что я достиг на данный момент, так это то, что при пролистывании я могу переключаться между фрагментом вида снизу, и то же самое выбирается из ящика. Но когда я пытаюсь перейти к 5-му и 6-му меню из ящиков, которые не являются частью фрагмента нижнего навигационного представления, я не могу правильно заменить фрагмент.

макет content_main: -

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 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/content_main"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    app:layout_behavior="@string/appbar_scrolling_view_behavior"
    tools:showIn="@layout/app_bar_main">

    <com.google.android.material.bottomnavigation.BottomNavigationView
        android:id="@+id/bottom_navigation"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        app:itemBackground="@color/white"
        app:itemIconTint="@color/selector_bottom_menu"
        app:itemTextColor="@color/selector_bottom_menu"
        app:menu="@menu/menu_bottom_navigation" />

    <androidx.viewpager.widget.ViewPager
        android:id="@+id/viewpager"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_above="@id/bottom_navigation"
        app:layout_behavior="@string/appbar_scrolling_view_behavior" />
</RelativeLayout>

Теперь, когда я пытаюсь заменить фрагмент с помощью идентификатора "content_main", очевидно, что он будет перекрывать другие фрагменты. Так что я хотел бы получить некоторые указания, что это правильный подход или нет? Если нет, то я должен удалить вид пейджер из макета правильно?

...