layout_scrollFlags参数控制AppBarLayout中控件的行为
scroll:Child View 伴随着scrollingView的滚动事件而滚出或滚进屏幕使用说明:
当ScrollView将要向下滚动的时候,优先滚动的是自己,当自己滚动到顶部头的时候,再开始触发滚动AppBarLayoout中的childView;当ScrollView将要向上滚动的时候, 优先将AppBarLayout的childView滚出屏幕,然后ScrollView才开始滚动; scroll | enterAlways 使用enterAlways,必须要带上scroll,否则没有效果enterAlways决定向下滚动时Scrolling View和Child View之间的滚动优先级问题使用说明:
当ScrollView将要向下滚动的时候,优先滚动的是AppBarLayout中的childView,当childView完全滚动进入屏幕的时候,才开始滚动 ScrollView当ScrollView将要向上滚动的时候, 优先将AppBarLayout的childView滚出屏幕,然后ScrollView才开始滚动 scroll | enterAlways | enterAlwaysCollapsed enterAlwaysCollapsed:它是enterAlways的附加值。要使用它,必须三者一起使用;这里涉及到Child View的高度和最小高度,向下滚动时,Child View先向下滚动最小高度值,然后Scrolling View开始滚动,到达边界时,Child View再向下滚动,直至显示完全。使用说明:
当ScrollView将要向下滚动的时候,优先将AppBarLayout中的childView滚动到它的最小高度,滚动完成之后scrollview才开始自身的滚动,当scrollview滚动完成时,这个时候childView才会将自己高度完全滚动进入屏幕;当ScrollView将要向上滚动的时候, 优先将AppBarLayout的childView滚出屏幕,然后ScrollView才开始滚动 scroll | exitUntilCollapsed使用说明:
当ScrollView将要向下滚动的时候,优先滚动的是自己,当自己滚动到顶部头的时候,再开始触发滚动AppBarLayoout中的childView;和单纯使用scroll的效果是一致的;当Scrollview将要向上滚动的时候,优先将AppBarLayout中的childView滚动至最小高度,然后scrollview才开始滚动。 scroll | snap snap简单理解,就是Child View滚动比例的一个吸附效果。也就是说,Child View不会存在局部显示,之滚动Child View的部分的情况;当我们松开手指时,Child View要么向上全部滚出屏幕,要么向下全部滚进屏幕,有点类似ViewPager的左右滑动