zoukankan      html  css  js  c++  java
  • CoordinatorLayout简介

    CoordinatorLayout简介

    CoordinatorLayout的作用

    • 协调子view的布局,降低子view之间的耦合度

    CoordinatorLayout的使用

    • 核心:Behavior,用来执行开发者定制的动作

      • 首先需要理解两个概念:Child和Dependency

      • Child:要执行动作的CoordinatorLayout的子View

      • Dependency:指Child依赖的View

      • 简而言之,就是如果Dependency这个View发生了变化,那么Child这个View就要相应发生变化.具体发生什么变化,就要引入Behavior了,因为Child发生变化的具体执行代码是放在Behavior这个类里面的

    如何使用Behavior

    • 首先,需要定义一个类,继承CoordinatorLayout.Behavior,其中泛型参数T是我们要执行动作的View类,也就是Child

    • 然后,去实现Behavior中的两个方法:

    /**
     * 判断child的布局是否依赖dependency
     */
     @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;
    }
    
  • 相关阅读:
    Vue 创建项目
    Vue组件之间的传参
    Vue自定义组件
    Python开发之路
    爬虫
    手撸系列
    Django从入门到不会放弃
    前端
    day29 TCP的三次握手 TCP的四次挥手 基于TCP的socket
    day28 客户端服务端架构介绍
  • 原文地址:https://www.cnblogs.com/coderwjq/p/7363322.html
Copyright © 2011-2022 走看看