Toolbar的收缩和展开

目录:
1. 概述
2. AppBarLayout的五种滚动模式:ScrollFlags
3. CollapsingToolbarLayout的三种折叠模式:collapseMode

1. 概述

1.1 CoordinatorLayout

协调者布局,用来协调子布局之间的联动。他依赖behavior插件进行协调,所以需要被协调的子布局都要添加behavior属性。
Behavior插件有点类似于RecyclerView中的LayoutManager,接管了子View的三大流程。

1.2 AppbarLayout

线性布局的子类,是一个垂直方向的LinearLayout
严重依赖CoordinatorLayout,如果父布局不是他将失去特有的滑动特性
他的子布局要明确设置scrolling behavior

1.3 CollapsingToolbarLayout

用于实现折叠布局

2. AppBarLayout的五种滚动模式:ScrollFlags

2.1 滚动模式1:scroll
app:layout_scrollFlags="scroll"

childView伴随着滚动事件而滚进或滚出屏幕

  • 若使用了其他值,必定要有这个值才起作用
  • 该子布局前面任何其他子布局未设置该值,则此子布局的设置无效
2.2 滚动模式2:enterAlways
app:layout_scrollFlags="enterAlways"

快速返回模式,向下滚动时滚动中视图与子视图之间的滚动优先级问题

  • scroll:优先滚动 Scrolling View
  • scroll|enterAlways:优先滚动子View
2.3 滚动模式3:enterAlwaysCollapsed
app:layout_scrollFlags="enterAlwaysCollapsed"

enterAlways的附加值:先滚动子View一个最小高度值,然后ScrollingView开始滚动,到达边界后,子View再滚完剩下的高度

2.4 滚动模式4:enterUntilCollapsed
app:layout_scrollFlags="enterUntilCollapsed"

向上滚动到最小高度,然后ScrollingView开始滚动,子View不完全退出屏幕

2.5 滚动模式5:snap
app:layout_scrollFlags="snap"

子View滚动比例的一个吸附效果

3 CollapsingToolbarLayout的三种折叠模式:CollapseMode

3.1 折叠模式一:none
app:layout_collapseMode="none"

视图正常运行,没有折叠行为

3.2 折叠模式二:pin
app:layout_collapseMode="pin"

视图将固定到位,直到它到达CTL的底部

3.4 折叠模式三:parallax
app:layout_collapseMode="parallax" 

视图将以视差方式滚动

你可能感兴趣的:(Toolbar的收缩和展开)