美文网首页
CoordinatorLayout使用

CoordinatorLayout使用

作者: isLJli | 来源:发表于2020-09-10 14:39 被阅读0次

    CoordinatorLayout

    1. 做什么?
      CoordinatorLayout布局是一个调度者,中心指挥者,在它布局下的所有的直接子View可以通过Behavior来和CoordinatorLayout中心指挥者通信。中心指挥者就可以根据Behavior来为子View指定依赖的同级View、嵌套滑动、事件拦截。

    2. 怎么做?
      CoordinatorLayout比较常用在嵌套滑动或者吸顶效果上,实现方式也比较简单。一般CoordinatorLayout会有三层结构,如下图所示。CoordinatorLayout作为一个滑动布局的最外层,里面包裹一个AppBarLayout和一个可以滑动的NestedSV、RecyclerView、ViewPager等。

      CoordinatorLayout
    • AppBarLayout: 这是一个已实现 BehaviorLinearLayout,在AppBarLayout的Behavior已实现了嵌套滑动功能,所以在AppBarLayout包裹的子View也可以滑动,如果子View想要滑出屏幕外则必须要设置AppBarLayout为之提供的scrollFlags。如果想要实现吸顶效果,则子View不设置scrollFlags即可。
      • AppBarLayout的提供scrollFlags:
        1.app:layout_scrollFlags="scroll|exitUntilCollapsed"
        这种符合顶部逻辑,则最先滑出屏幕,最后滑进屏幕
        exitUntilCollapsed.gif

    2.app:layout_scrollFlags="scroll|enterAlways"
    最先滑出屏幕,也最先滑进屏幕。

    SVID_20200910_155540_1.gif

    3.app:layout_scrollFlags="scroll|snap"
    在你停止滑动时,如果View的显示大于75%,则自动显示全部,如果View的显示小于25%,则自动隐藏全部。

    SVID_20200910_160930_1.gif
    • 对于其他没有实现Behavior的可滑动子View,如果只是需要配合一起嵌套滑动,那么则可以设置Behavior为AppBarLayout的滑动Behavior:
    app:layout_behavior="com.google.android.material.appbar.AppBarLayout$ScrollingViewBehavior"
    
    image.png

    相关文章

      网友评论

          本文标题:CoordinatorLayout使用

          本文链接:https://www.haomeiwen.com/subject/ldbuektx.html