问题描述
我有一个 BottomAppBar
,它可以在 RecyclerView
通过其属性 hideOnScroll
滚动时隐藏和显示。
我想在 FloatingActionButton
隐藏或显示时更改 BottomAppBar
对齐模式。
我还没有找到任何关于如何实现这一点的侦听器或函数。有没有,我怎样才能做到这一点?
解决方法
我还没有找到合适的听众。
我通过覆盖 BottomAppBar.Behavior
类及其方法 slideUp()
和 slideDown()
实现了我希望的行为。
在这些方法中,我只是适当地更改了 BottomAppBars
FAB 对齐模式,仅此而已。现在只需告诉 BottomAppBar
通过其 XML 属性 app:layout_behavior="MyBottomAppBarBehavior"
使用这个新的行为类。
但我认为这很糟糕,因为它在某种程度上消耗了大量资源,并且在低端或旧设备上无法流畅显示。当您快速执行此操作时,它还会重新对齐 BottomAppBar
的 menu
。
所以我决定在 BottomAppBar
隐藏时隐藏 FAB,反之亦然。我通过覆盖 FloatingActionButton.Behavior
类并在那里做一些类似的事情来实现这一点。你可以在网上找到很好的教程。