? 協調布局,能夠協調多個布局的位置關系,可以實現讓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" />