Material Design实现之 CoordinatorLayout的滚动效果

CoordinatorLayout是google在android L之后引入的新控件,用于实现Material Design的多种滚动效果。而关键在于我们使用CoordinatorLayout不用写多少代码就能实现一些非常酷的动画,能够极大的提升我们的效率。

那么,听起来很神奇的CoordinatorLayout要怎么使用呢?

通常情况下,我们一个界面的元素包括

  • 顶部区域,比如Toolbar,或是其他有时可见有时不可见的元素,通常为其元素为android.support.design.widget.AppBarLayout
  • 内容部分,可以滚动的部分,比如ViewPage, RecyclerView,NestedScrollView等
  • 一些悬浮的元素,比如FloatActioningButton
    这里写图片描述

因此,要使用CoordinatorLayout,通常的布局是这样子三段式的(当然根据实际情况比这个复杂,这里先讨论简单的原理)

这里写图片描述

CoordinatorLayout的作用,就是把内容部分的滚动功能扩散到其他部分,让其他部分也能随着滚动事情作一些交互。因此它要知道在它的子View中,哪个是具有原生的滚动功能。
要标识具有滚动行为的View,

app:layout_behavior="@string/appbar_scrolling_view_behavior"

需要加上这句话。

当然appbar_scrolling_view_behavior定义的是默认的滚动行为,你可以添加自定义的行为

现在我们定义了滚动视图,现在来讨论怎么配合滚动事件进行响应。
这里我们要引入另一个Layout:android.support.design.widget.AppBarLayout。通过它才能配合coordinatorLayout进行工作。

要定义滚动行为,在AppBarLayout中定义了几个行为(FLAG),

  • scroll: 对于要响应滚动事件(随着滚动消失或出现的)的VIEW都要加上这个标志。而且使用这个标志的VIEW必须写在AppBarLayout子View的前面,如果从上到下其中有一个View没这个标志,那么其后的就算带上了这个标志也无效。
  • enterAlways: 这个标志指示这个View向上滚动消失,向下滚动就又显示出来了,
  • enterAlwaysCollapsed: 这个标志一般配合minHeight使用。当滑动时,View保持在最小高度,一旦滑动到顶部,才能继续扩展这个View.
  • exitUntilCollapsed:这个标志指示当滑动向最小高度时(minHeight),再继续滑,就会向上滑动消失。
  • snap: 自动依附功能,防止出现半截VIEW显示的效果。

有上面的理论,我们再看一段代码,对代码的解释见注释。

<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.androi
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值