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