DrawerLayout + BottomNavigation和ViewPager并替换片段

时间:2019-04-15 12:11:05

标签: android android-fragments bottomnavigationview android-navigationview

首先,如果我的想法是错误的,请原谅我。我要在这里做的是使用View Pager将DrawerLayout(带有6个菜单)与BottomNavigationView(位于底部4个菜单)一起使用。

到目前为止,我已经实现了以下功能:通过滑动,我可以在底视图片段之间切换,也可以从抽屉中选择相同的片段。但是,当我尝试从不属于底部导航视图片段的抽屉中跳至第五和第六菜单时,我无法正确替换片段。

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” ID替换片段时,很明显它将覆盖其他片段。因此,我想获得一些指导,以确保这是正确的方法?如果不是,那我应该从布局中删除视图分页器吗?

0 个答案:

没有答案