添加滚动行为后默认隐藏BottomNavigationView

时间:2019-03-19 05:56:17

标签: android android-support-library androidx

我的片段中具有以下主要布局和一个recyclerview。我面临的问题是,默认情况下底部导航视图是隐藏的,并且仅当我向下滚动导航视图时才会显示。

向下滚动之前 before scrolling down 向下滚动后,出现底部导航视图 after scrolling down

我面临的另一个问题是向下滚动并更改片段后,工具栏消失了

content_home.xml

<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:layout_width="match_parent"
    android:layout_height="match_parent"
    app:layout_behavior="@string/appbar_scrolling_view_behavior"
    tools:context=".activity.HomeActivity"
    tools:showIn="@layout/activity_home">

    <com.google.android.material.bottomnavigation.BottomNavigationView
        android:id="@+id/navigation"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:background="?android:attr/windowBackground"
        app:itemIconTint="@drawable/nav_item_foreground"
        app:itemTextColor="@drawable/nav_item_foreground"
        app:layout_behavior="@string/hide_bottom_view_on_scroll_behavior"
        app:menu="@menu/navigation" />



    <FrameLayout
        android:id="@+id/fragment_container"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_above="@+id/navigation" />


</RelativeLayout>

这是主要的活动布局 activity_home.xml

<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"
    >

    <com.google.android.material.appbar.AppBarLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/appBar"
        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:layout_scrollFlags="scroll|enterAlways"
            app:popupTheme="@style/AppTheme.PopupOverlay" />

    </com.google.android.material.appbar.AppBarLayout>

    <include
        layout="@layout/content_home" />

</androidx.coordinatorlayout.widget.CoordinatorLayout>

1 个答案:

答案 0 :(得分:0)

您的content_home.xml中有一个问题,您正在app:layout_behavior="@string/hide_bottom_view_on_scroll_behavior"中使用BottomNavigationView

这就是为什么要进行包装。

hide_bottom_view_on_scroll_behavior中删除 app:layout_behavior