核心:Behavior,用來執行開發者定製的動做java
首先須要理解兩個概念:Child和Dependencyide
Child:要執行動做的CoordinatorLayout的子View函數
Dependency:指Child依賴的View佈局
簡而言之,就是若是Dependency這個View發生了變化,那麼Child這個View就要相應發生變化.具體發生什麼變化,就要引入Behavior了,由於Child發生變化的具體執行代碼是放在Behavior這個類裏面的code
首先,須要定義一個類,繼承CoordinatorLayout.Behavior
而後,去實現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; }