一般的CoordinatorLayout布局可能是在AppBarLayout内进行向上滑动折叠,这种情况直接按照官方文档来即可。但有时候的需求可能不止如此,页面的底部可能有一排功能按钮,需固定。此时利用include可以达到。
1.第一个布局,顶部固定标题栏,底部固定操作栏。中间include我们需要的折叠布局
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/rl_root"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#F6F7FA">
<RelativeLayout
android:id="@+id/rl_title"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize">
<ImageButton
android:id="@+id/iv_back"
android:layout_width="40dp"
android:layout_height="match_parent"
android:background="@null"
android:src="@mipmap/ic_arrow_white_left" />
<TextView
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_centerInParent="true"
android:gravity="center"
android:text="title"
android:textColor="@color/white"
android:textSize="17sp"
android:textStyle="bold" />
<TextView
android:id="@+id/tv_any"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:layout_marginRight="15dp"
android:gravity="center"
android:text="anyway"
android:textColor="@color/white"
android:textSize="15sp" />
</RelativeLayout>
<include
layout="@layout/item_scroll"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/ll_bottom"
android:layout_below="@id/rl_title" />
<LinearLayout
android:id="@+id/ll_bottom"
android:layout_width="match_parent"
android:layout_height="58dp"
android:layout_alignParentBottom="true"
android:background="@color/white"
android:gravity="center_vertical"
android:orientation="horizontal"
android:paddingLeft="15dp"
android:paddingRight="15dp">
</LinearLayout>
</RelativeLayout>
2.折叠布局
<?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"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<android.support.design.widget.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<android.support.design.widget.CollapsingToolbarLayout
android:id="@+id/collapsingtoolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:contentScrim="@drawable/bg_top_gradien_434c68"
app:layout_scrollFlags="scroll|exitUntilCollapsed">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/bg_top_gradien_434c68"
android:orientation="vertical"
android:paddingLeft="15dp">
<TextView
android:id="@+id/tv_collaps_content"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ellipsize="end"
android:maxLines="1"
android:text="subtitle"
android:textColor="@color/white"
android:textSize="21sp"
android:textStyle="bold" />
</RelativeLayout>
</android.support.design.widget.CollapsingToolbarLayout>
<!--滑动时悬浮部分布局-->
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/bg_top_gradien_434c68"
android:orientation="vertical"
android:paddingLeft="15dp"
android:paddingTop="13dp"
android:paddingBottom="18dp">
<TextView
android:id="@+id/tv_float_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:includeFontPadding="false"
android:text="tv_float_view"
android:textColor="@color/white"
android:textSize="37sp" />
</RelativeLayout>
</android.support.design.widget.AppBarLayout>
<android.support.v4.widget.NestedScrollView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#F6F7FA"
app:layout_behavior="@string/appbar_scrolling_view_behavior">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<RecyclerView
android:id="@+id/rv"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/v_top_d"
android:background="@color/white" />
<LinearLayout
android:id="@+id/ll_any"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/rv"
android:layout_marginTop="10dp"
android:background="@color/white"
android:orientation="vertical"
android:padding="15dp">
</LinearLayout>
</RelativeLayout>
</android.support.v4.widget.NestedScrollView>
</android.support.design.widget.CoordinatorLayout>