• 协调布局,能够协调多个布局的位置关系,可以实现让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" />