我在协调器布局中有底部导航栏和 viewpager,viewpager 内的每个片段都有自己的折叠工具栏,
但app:layout_behavior="@string/hide_bottom_view_on_scroll_behavior"
对我不起作用。
我也不想bottomNav.setVisibility(View.GONE);
通过听我的嵌套滚动视图(内部片段)来做,因为它没有动画。这是我最后的选择。
我的活动
<?xml version="1.0" encoding="utf-8"?>
<androidx.coordinatorlayout.widget.CoordinatorLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/main_content"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
tools:context=".market.MarketActivity">
<com.example.x.custom.NonSwipeableViewPager
android:id="@+id/viewpager"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior"/>
<com.google.android.material.bottomnavigation.BottomNavigationView
android:id="@+id/bottom_navigation"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
android:background="?android:attr/windowBackground"
app:labelVisibilityMode="labeled"
app:layout_behavior="@string/hide_bottom_view_on_scroll_behavior"
app:layout_insetEdge="bottom"
app:itemIconTint="@drawable/bottom_navigation_selector"
app:itemTextColor="@drawable/bottom_navigation_selector"
app:menu="@menu/bottom_navigation_menu"
android:theme="@style/Widget.BottomNavigationView"/>
</androidx.coordinatorlayout.widget.CoordinatorLayout>
片段之一(在内容视图中有一个嵌套的滚动视图。我设置了它的布局行为)
<?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=".testproject.ScrollingActivity">
<com.google.android.material.appbar.AppBarLayout
android:id="@+id/app_bar"
android:layout_height="140dp"
android:minHeight="56dp"
app:elevation="0dp"
android:layout_width="match_parent">
<com.google.android.material.appbar.CollapsingToolbarLayout
android:id="@+id/toolbar_layout"
android:fitsSystemWindows="true"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:toolbarId="@+id/toolbar"
app:expandedTitleGravity="bottom|left"
app:expandedTitleMarginStart="14dp"
app:expandedTitleMarginBottom="60dp"
app:collapsedTitleTextAppearance="@style/CollapsingToolbarTextStyleBlack"
app:expandedTitleTextAppearance="@style/CollapsingToolbarTextStyleBlack"
app:layout_scrollFlags="scroll|exitUntilCollapsed"
android:background="@color/white">
<androidx.appcompat.widget.Toolbar
android:id="@+id/toolbar"
android:layout_height="?attr/actionBarSize"
android:layout_width="match_parent"
app:layout_collapseMode="pin"
app:titleMarginStart="0dp"
android:gravity="top"
android:layout_marginBottom="48dp"
app:popupTheme="@style/AppTheme.PopupOverlay">
</androidx.appcompat.widget.Toolbar>
<com.google.android.material.tabs.TabLayout
android:id="@+id/tabs"
android:background="@color/white"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:tabIndicatorFullWidth="false"
app:tabTextColor="@color/warm_grey"
app:tabMode="scrollable"
app:tabSelectedTextColor="@color/lipstick"
android:layout_gravity="bottom"
app:tabTextAppearance="@style/TabLayoutTextStyle"
android:paddingRight="6dp"
android:paddingLeft="6dp"
>
<com.google.android.material.tabs.TabItem
android:id="@+id/tabItem"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/main_market">
</com.google.android.material.tabs.TabItem>
<com.google.android.material.tabs.TabItem
android:id="@+id/tabItem2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/high_yield"/>
<com.google.android.material.tabs.TabItem
android:id="@+id/tabItem3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/perpetuals"/>
<com.google.android.material.tabs.TabItem
android:id="@+id/tabItem4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/special_situations"/>
</com.google.android.material.tabs.TabLayout>
</com.google.android.material.appbar.CollapsingToolbarLayout>
</com.google.android.material.appbar.AppBarLayout>
<include layout="@layout/content_market"/>
</androidx.coordinatorlayout.widget.CoordinatorLayout>
这些链接 不起作用在滚动上隐藏/显示底部导航视图
使用 AppBarLayout 在 CoordinatorLayout 中滚动时显示/隐藏 BottomNavigationView