CoordinatorLayout使用

作者: aqianglala | 来源:发表于2017-06-02 14:41 被阅读45次

参考

CoordinatorLayout的使用如此简单

作用:

协调各个子View的布局

关键点:

  1. Behavior:设置child的行为。
  2. Child和Dependency:都是CoordinatorLayout的子view,child依赖于dependency,当Dependency的大小或位置改变时,child来执行相应的动作,即Behavior。

实现:

1、自定义Behavior
定义一个类,继承CoordinatorLayout.Behavior<T>,其中,泛型参数T是我们要执行动作的View类,也就是Child。然后就是去实现Behavior的两个方法:

/**
* 判断dependency是否为你想依赖的view
*/
   @Override
 public boolean layoutDependsOn(CoordinatorLayout parent, T child, View dependency) {
    boolean rs;
    //根据逻辑判断rs的取值
    //返回false表示child不依赖dependency,ture表示依赖
    return rs;  
}

/**
* 当dependency发生改变时(位置、宽高等),执行这个函数
* 返回true表示child的位置或者是宽高要发生改变,否则就返回false
*/
@Override
public boolean onDependentViewChanged(CoordinatorLayout parent, T child, View dependency) {
     //child要执行的具体动作
        return true;
}

2、在布局文件中加入设置对应的behavior

<CoordinatorLayout>
  <Child
      app:layout_behavior="com.hc.studyCoordinatorLayout.MyBehavior"/>
  <Dependency />
</CoordinatorLayout>

相关文章

网友评论

    本文标题:CoordinatorLayout使用

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