Toolbar的收缩和展开
2021-04-12 本文已影响0人
耑意儿
目录:
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"
视图将以视差方式滚动