CoordinatorLayout簡介

CoordinatorLayout簡介

CoordinatorLayout的做用

  • 協調子view的佈局,下降子view之間的耦合度

CoordinatorLayout的使用

  • 核心:Behavior,用來執行開發者定製的動做java

    • 首先須要理解兩個概念:Child和Dependencyide

    • Child:要執行動做的CoordinatorLayout的子View函數

    • Dependency:指Child依賴的View佈局

    • 簡而言之,就是若是Dependency這個View發生了變化,那麼Child這個View就要相應發生變化.具體發生什麼變化,就要引入Behavior了,由於Child發生變化的具體執行代碼是放在Behavior這個類裏面的code

如何使用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;
}
相關文章
相關標籤/搜索