CoordinatorLayout
suggest changeThe CoordinatorLayout
is a container somewhat similar to FrameLayout
but with extra capabilities, it is called super-powered FrameLayout
in the official documentation.
By attaching a CoordinatorLayout.Behavior
to a direct child of CoordinatorLayout, you’ll be able to intercept touch events, window insets, measurement, layout, and nested scrolling.
In order to use it, you will first have to add a dependency for the support library in your gradle file:
compile 'com.android.support:design:25.3.1'
The number of the latest version of the library may be found here
One practical use case of the CoordinatorLayout
is creating a view with a FloatingActionButton
. In this specific case, we will create a RecyclerView
with a SwipeRefreshLayout
and a FloatingActionButton
on top of that. Here’s how you can do that:
<?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" android:id="@+id/coord_layout" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="horizontal"> <android.support.v4.widget.SwipeRefreshLayout android:id="@+id/swipe_refresh_layout" android:layout_width="match_parent" android:layout_height="match_parent"> <android.support.v7.widget.RecyclerView android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/recycler_view"/> </android.support.v4.widget.SwipeRefreshLayout> <android.support.design.widget.FloatingActionButton android:id="@+id/fab" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_margin="16dp" android:clickable="true" android:color="@color/colorAccent" android:src="@mipmap/ic_add_white" android:layout_gravity="end|bottom" app:layout_anchorGravity="bottom|right|end"/> </android.support.design.widget.CoordinatorLayout>
Notice how the FloatingActionButton is anchored to the CoordinatorLayout with app:layout_anchor=”@id/coord_layout”