Android控件大全(四)——CoordinatorLayout

CoordinatorLayout 其實就是個高級的FrameLayout,用於協調子佈局
要使用該控件,須要再gradle中加入:
 compile 'com.android.support:design:24.2.1'
一、CoordinatorLayout與AppBarLayout
 1 <android.support.design.widget.CoordinatorLayout
 2     android:layout_height="match_parent"
 3     android:layout_width="match_parent"
 4     xmlns:app="http://schemas.android.com/apk/res-auto"
 5     xmlns:android="http://schemas.android.com/apk/res/android">
 6        <android.support.design.widget.AppBarLayout
 7            android:layout_width="match_parent"
 8            android:layout_height="wrap_content">
 9            <android.support.v7.widget.Toolbar
10                app:layout_scrollFlags="scroll"
11                android:layout_width="match_parent"
12                android:layout_height="?attr/actionBarSize">
13            </android.support.v7.widget.Toolbar>
14        </android.support.design.widget.AppBarLayout>
15        <android.support.v7.widget.RecyclerView
16           app:layout_behavior="@string/appbar_scrolling_view_behavior"
17           android:id="@+id/recycler"
18           android:layout_width="match_parent"
19           android:layout_height="match_parent">
20    </android.support.v7.widget.RecyclerView>
21 </android.support.design.widget.CoordinatorLayout>

注意:代碼的第10行和第16行  @string/appbar_scrolling_view_behavior 是系統自帶的一個Behavior,咱們以後再討論,這邊先看一下 app:layout_scrollFlags="scroll"android

    scroll、enterAlways、enterAlwaysCollapsed、exitUtilCollapsed、snap 五中可選app

     scroll:伴隨着滾動時間滾進滾出屏幕,若是設置了其餘的flag,這個flag是必須寫上的,否則沒有效果;前面全部的子View都必須帶上這個屬性,否則沒有效果佈局

     enterAlways:快速返回模式,優先滾動toolbar
gradle

     enterAlwaysCollapsed :要使用這種屬性,必須設置一個minHeight,先將toolbar滾動至minHeight,而後滾動RecycylerView,滾動至頂部以後就繼續滾動toolbar,而且須要配合enterAlways一塊兒使用,不然沒有效果spa

     exitUtilCollapsed:先將toolbar滾動至minHeight,而後滾動recyclerView,toolbar不會徹底滾出屏幕code

     snap:toolbar滾動添加一個吸附的效果xml

 
二、CoordinatorLayout與CollapsingToolbarLayout
 1 <android.support.design.widget.CoordinatorLayout
 2     android:layout_height="match_parent"
 3     android:layout_width="match_parent"
 4     xmlns:app="http://schemas.android.com/apk/res-auto"
 5     xmlns:android="http://schemas.android.com/apk/res/android">
 6    <android.support.design.widget.AppBarLayout
 7        android:layout_width="match_parent"
 8        android:layout_height="256dp">
 9     <android.support.design.widget.CollapsingToolbarLayout
10           android:id="@+id/collapse"
11           app:contentScrim="#30469b"
12           app:layout_scrollFlags="scroll|exitUntilCollapsed"
13           android:layout_width="match_parent"
14           android:layout_height="match_parent">
15              <ImageView
16                 app:layout_collapseMode="parallax"
17                 android:scaleType="center"
18                 android:src="@mipmap/timg"
19                 android:layout_width="match_parent"
20                 android:layout_height="match_parent" />
21              <android.support.v7.widget.Toolbar
22                  app:layout_collapseMode="pin"
23                  android:id="@+id/toolbar"
24                  android:layout_width="match_parent"
25                  android:layout_height="?attr/actionBarSize">
26          </android.support.v7.widget.Toolbar>
27       </android.support.design.widget.CollapsingToolbarLayout>
28    </android.support.design.widget.AppBarLayout>
29    <android.support.v7.widget.RecyclerView
30        app:layout_behavior="@string/appbar_scrolling_view_behavior"
31        android:id="@+id/recycler"
32        android:layout_width="match_parent"
33        android:layout_height="match_parent">
34    </android.support.v7.widget.RecyclerView>
35 
36 </android.support.design.widget.CoordinatorLayout>

注意:第11行:app:contentScrim設置摺疊以後的顏色;blog

   第12行,flag必須設置成 scroll|exitUntilCollapsed;圖片

   第16行 app:layout_collapseMode 設置成 parallax,表示圖片會隨着滾動開始漸變;ip

   第22行:設置成pin表示toolbar會停留在最上方

   此時若是要設置文字必須從CollapsingToolbarLayout入手

 <android.support.design.widget.FloatingActionButton
        app:layout_anchor="@id/appbar"
        app:layout_anchorGravity="right|bottom|end"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />

  實現floatingActionButton與AppbarLayout一同消失和呈現

相關文章
相關標籤/搜索