Android 相应地调整工具栏的大小以在 Observable ScrollView 上滚动

Android resizable Toolbar accordingly to scroll on Observable ScrollView

正如您从标题中猜到的那样,我想重现我在 Telegram v2.3.2(设置 activity)等应用程序中看到的行为。 在这种特殊情况下,工具栏 从初始大小开始,然后调整其高度 (并缩小其中的视图),直到达到 'normal' 通用工具栏的高度 根据整个 activity 的主要内容发生的滚动。如何实现?

由于我是从头开始的,所以我在网上搜索并找到了 ManuelPeinado's gist,它派生自 FadingActionBar 项目,它托管一个名为 ObservableScrollView 的视图,它可以监视滚动事件。我以为我可以在调用 onScroll 时调整工具栏的大小,但我没有弄清楚如何实现结果。

我还发现 Telegram sources 可用,我认为它非常酷,但它们非常难以阅读,因为它们很复杂,而且我无法确定代码的哪一部分负责什么。

关于如何实现此功能的任何建议,或网络上的一些其他资源?

提前致谢。

Android-ObservableScrollView 是一个有助于构建此功能的库。

支持:

  • 列表视图
  • 滚动视图
  • 网络视图
  • RecyclerView
  • 网格视图