如何设置在 BottomAppBar 隐藏/显示时触发的侦听器?

问题描述

我有一个 BottomAppBar,它可以在 RecyclerView 通过其属性 hideOnScroll 滚动时隐藏和显示
我想在 FloatingActionButton 隐藏或显示时更改 BottomAppBar 对齐模式。

我还没有找到任何关于如何实现这一点的侦听器或函数。有没有,我怎样才能做到这一点?

解决方法

我还没有找到合适的听众。

我通过覆盖 BottomAppBar.Behavior 类及其方法 slideUp()slideDown() 实现了我希望的行为。

在这些方法中,我只是适当地更改了 BottomAppBars FAB 对齐模式,仅此而已。现在只需告诉 BottomAppBar 通过其 XML 属性 app:layout_behavior="MyBottomAppBarBehavior" 使用这个新的行为类。

但我认为这很糟糕,因为它在某种程度上消耗了大量资源,并且在低端或旧设备上无法流畅显示。当您快速执行此操作时,它还会重新对齐 BottomAppBarmenu

所以我决定在 BottomAppBar 隐藏时隐藏 FAB,反之亦然。我通过覆盖 FloatingActionButton.Behavior 类并在那里做一些类似的事情来实现这一点。你可以在网上找到很好的教程。