AppBarLayout 与工具栏有什么区别?

What is the difference between AppBarLayout vs Toolbar?

我想在我的应用程序中包含 Toolbar,但设计支持库刚刚推出 AppBarLayout,所以我只需要澄清一下区别是什么以及我何时会使用一个另一个。

AppBarLayout用于实现各种滚动行为,如collapse、flexspace、quickreturn。

http://www.google.com/design/spec/patterns/scrolling-techniques.html

http://android-developers.blogspot.com/2015/05/android-design-support-library.html

如果您只想包含没有任何滚动效果的工具栏,您可以使用工具栏。但是如果你想在图像上做一些滚动效果,你需要使用 AppBarLayout。

更多here and here.

AppBarLayout 是 ToolBar 的父布局,ToolBar 是自定义 ActionBar。 如果你想在 ToolBar 上滚动动作,那么你应该将 ToolBar 写到 AppBarLayout 中,在你编写滚动 ToolBar 的代码之前,你必须知道 NestedScrollBar,它用于滚动 ToolBar。但是您不能直接连接 NestedScrollBar 和 ToolBar,因为 ToolBar 是 AppBarLayout 的子级,而 NestedScrollBar 是 AppBarLayout 的兄弟级,这就是为什么您的 Toolbar 应该在 AppBarlayout 中,然后您可以连接 AppBarlayout 和 NestedScrollBarLayout 以在工具栏上进行滚动操作。