Android 協調者佈局
協調者佈局的誕生:
Android在推出5.0版本後推出了材料設定概念,並推出了design相容包,而我們本章所需要說的協調者佈局(CoordinatorLayout)就在這design相容包之中。所以說,我們想要使用協調者佈局就需要去匯入design包(compile 'com.android.support:design:25.1.1')
協調者佈局的簡介:
協調者佈局(CoordinatorLayout,以下簡稱CL)繼承自viewGroup,它的父類就是viewGroup,所以CL是作為容器來使用,它是一個非常高階的App裝飾佈局,我們在使用的過程中通常是做為頂級ViewGroup來使用的.
CL的使用:
CL把整個頁面分成了兩部分,上半部分固定設定為AppBarLayout佈局,上半部分的作用就是可以進行摺疊;下半部分可以為兩種佈局 RecyclerView 和NestedScrollView 的其中一種,下半部分的作用是可以進行滑動,對上部分進行摺疊操作
CL常用的屬性:
app:collapsedTitleGravity="right" :摺疊後title位於Toolbar的位置
app:contentScrim="@color/colorPrimary": 摺疊後Toolbar顯示的顏色
app
app:title="coordinatorlayout" :顯示的文字,可以跟著滑動來改變size
CL重要的屬性就是 : app:layout_scrollFlags :設定上半部分滑動的方式
這個屬性的取值方式有五種:
1.scroll 表示CollapsingToolbarLayout可以滾動(不設定的話頭部的ImageView將不能摺疊)
2.enterAlways 表示底部的滾動控制元件只要向下滾動,頭部就顯示出來
3.enterAlwaysCollapsed 表示當底部滾動控制元件滾動見頂時,頭部顯示出來
4.exitUntilCollapsed 表示頭部摺疊到最小高度時(Toolbar的高度),就不再摺疊
5.snap 表示在滑動過程中如果停止滑動,則頭部會就近摺疊(要麼恢復原狀,要麼摺疊成一個Toolbar)
要想真正實現上半部分跟隨著下半部分的滑動而產生相應的動作的話,必須在下半部分的控制元件中需要設定app:layout_behavior 屬性
由於app:layout_behavior 屬性也是有許多的坑,所以只要記住在CL佈局中的下半部分的控制元件當中設定該屬性即可:
app:layout_behavior="@string/appbar_scrolling_view_behavior"