CoordinatorLayout 属性详解 和 Behavior 的使用

  • 时间:2017-05-26
  • 分类:Android开发
  • 1258 人浏览
[导读]关于 CoordinatorLayout 写过例子, 点击打开链接 链接是以前写的联动效果的例子,但是一直没有总结,其实CoordinatorLayout就是一个...

关于 CoordinatorLayout 写过例子,链接是以前写的联动效果的例子,但是一直没有总结,其实CoordinatorLayout就是一个联动的布局动画效果,不用代码,就xml布局就能实现很多动画效果 。

1.首先来个简单的,先看效果图上推时从1到2

                  toolbar消失


接着代码:

对上述代码分析:


 首先第一个属性:scrollflag:要和滚动联动都要设置这个标志,有一下几个值:
   
1》enterAlways:跟随滚动视图的上下滚动,滚出屏幕,
    2》enterAlwaysCollapsed:当滚动视图滚动到底时,View只能以minHeight的高度滚入界面;
    3》exitUntilCollapsed:跟随滚动视图的上下滚动,但滚出时会预留minHeight的高度,实际能滚动的距离为  (layout_height-minHeight);
    4》snap:根据滚动释放时的状态来自动执行完整的enter或者exit动画;
 第二个属性:app:layout_behavior="@string/appbar_scrolling_view_behavior"-把滚动的内容设置在appbar下面,不然appbar会变为透明,并且滚动的内容会显示在(0,0)坐标


2.第二个例子上推从1到2

     

  代码:

 代码分析:


      1》CollapsingToolbarLayout 会去自动获取Toolbar的高度设为滚动后的最小高度minHeight
     
2》app:layout_collapseMode="parallax":视差模式,在折叠的时候会有个视差折叠的效果。与               app:layout_collapseParallaxMultiplier:配合使用。当滚动的时候设置视差滚动系数 0~1 视差显示图片是上移动的,等于 1 图片是固定不动的,大于 1 图片是向下移动,然后toolbar显示。
      3》app:layout_collapseMode="pin":固定模式,这个属性是在滚动的时候,最终在屏幕顶端固定的view,该view不会滑出屏幕,会被固定在顶端。
     
4》app:expandedTitleMarginStart="20dp" - 表示头部展开时 title 距离左侧的距离大小
     
5》app:layout_anchor和app:layout_anchorGravity来实现联动;
     
app:layout_anchor="@id/app_bar":用来设置与id所关联的控件进行协调,即AppBarLayout;
     
app:layout_anchorGravity="bottom|right":用来设置与关联控件的位置关系;

      6》app:layout_scrollFlags="scroll|exitUntilCollapsed|snap",这个属性设置滚动到顶部,此view就停止上移,被固定在顶部。


第三个例子,CoordinatorLayout 与 Behavior 联动

效果图

 

代码:



app:layout_behavior="com.dl7.coordinator.behavior.AvatarBehavior"

AvatarBehavior的布局:

来源:本文为线上采编,如涉及作品内容、版权和其它问题,请及时与本网联系,我们将在第一时间删除!