Design-CoordinatorLayout的使用

? 協調布局,能夠協調多個布局的位置關系,可以實現讓FAB上下滑動,展開或折疊ToolBar,控制View擴展收縮以及放大縮小

使用

使用需要依賴design類庫

compile 'com.android.support:design:23.0.0+'

布局

<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"

AppBarLayout會將包裹的所有子View作為一個整體的AppBar
使用它結合AppBarLayout實現向上滑動隱藏ToolBar的效果:
AppBarLayout會將包裹的所有子View作為一個整體的AppBar,有著統一的界面著色;

<android.support.design.widget.AppBarLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

    <android.support.v7.widget.Toolbar
    app:layout_scrollFlags="scroll|enterAlways"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@color/colorPrimary"
    app:title="@string/app_name"
    app:titleTextColor="#fff" />
    <android.support.design.widget.TabLayout
</android.support.design.widget.AppBarLayout>

給想滑動出范圍的View設置屬性,比如ToolBar:

app:layout_scrollFlags="scroll|enterAlways"

? app:layout_scrollFlags屬性介紹:
scroll:表示該View可以被滑動出CoordinatorLayout的范圍,所有想滾動出屏幕的view都需要設置這個flag, 沒有設置這個flag的view將被固定在屏幕頂部。例如,TabLayout 沒有設置這個值,將會停留在屏幕頂部
enterAlways:表示任意向下的滾動都會導致該View可見
exitUntilCollapsed:滾動退出屏幕,最后折疊在頂端,可配合minHeight使用,當達到minHeight的時候固定
enterAlwaysCollapsed:當你的視圖已經設置minHeight屬性又使用此標志時,你的視圖只能以最小高度進入,只有當滾動視圖到達頂部時才擴大到完整高度

給發出滑動行為的View設置屬性,比如ViewPager:
app:layout_behavior="@string/appbar_scrolling_view_behavior"

<android.support.v4.view.ViewPager
    app:layout_behavior="@string/appbar_scrolling_view_behavior"
    android:id="@+id/viewpager"
    android:layout_width="match_parent"
    android:layout_height="match_parent" />
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容