AppBarLayout的scrollFlags

AppBarLayout的Child View可以在xml布局文件中通过app:layout_scrollFlags设置flag,对应的值为:
scroll,enterAlways,enterAlwaysCollapsed,exitUntilCollapsed,snap。

先贴一下基础代码



    

        

            

        
    

    

    


下面直接看效果:

  • 如果不设置任何flag,AppBarLayout将固定在顶部,无法滚动


    AppBarLayout的scrollFlags_第1张图片
    没有设置任何flag.gif
  • 想要AppBarLayout滚动必须设置flag为scroll,另外四个flag需要和scroll一起使用才有效


    AppBarLayout的scrollFlags_第2张图片
    设置flag为scroll.gif
  • 设置flag为scroll|enterAlways,则child view优先scroll view滚动并且child view整个滑出屏幕


    设置flag为scroll|enterAlways.gif
  • 设置flag为scroll|enterAlways|enterAlwaysCollasped,向上滑时child view优先scroll view滚动并且child 5. view整个滑出屏幕,向下滑时child view先滚动到最小高度,最小高度通过android:minHeight=""设置,然后scoll view滚动,再是child view滚动


    AppBarLayout的scrollFlags_第3张图片
    设置flag为scroll|enterAlways|enterAlwaysCollasped.gif
  • 设置flag为scroll|enterAlwaysCollasped,向上滑时child view优先scroll view滚动并且child 5. view整个滑出屏幕,向下滑时scroll view优先child view滚动


    设置flag为scroll|enterAlwaysCollapsed.gif
  • 设置flag为scroll|exitUntilCollapsed,向上滚动时,child view优先滚动到最小高度,然后会固定在顶部,向下滚动时,scroll view优先child view滚动


    AppBarLayout的scrollFlags_第4张图片
    设置flag为scroll|exitUntilCollapsed.gif
  • 设置flag为scroll|snap,当滚动事件结束,如果child view是部分可见的,要么向上全部滚出屏幕,要么向下全部滚进屏幕


    设置flag为scroll|snap.gif

你可能感兴趣的:(AppBarLayout的scrollFlags)