Check this link: https://developer.android.com/reference/android/support/design/widget/AppBarLayout.html
AppBarLayoutalso requires a separate scrolling sibling in order to
know when to scroll. The binding is done through the
AppBarLayout.ScrollingViewBehaviorclass, meaning that you
should set your scrolling view’s behavior to be an instance ofAppBarLayout.ScrollingViewBehavior. A string resource containing the
full class name is available.
They mentioned about that, it should be the View which will be shown under the AppBarLayout like this:
<android.support.design.widget.CoordinatorLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.v4.widget.NestedScrollView
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior">
<!-- Your scrolling content -->
</android.support.v4.widget.NestedScrollView>
<android.support.design.widget.AppBarLayout
android:layout_height="wrap_content"
android:layout_width="match_parent">
<android.support.v7.widget.Toolbar
...
app:layout_scrollFlags="scroll|enterAlways"/>
<android.support.design.widget.TabLayout
...
app:layout_scrollFlags="scroll|enterAlways"/>
</android.support.design.widget.AppBarLayout>
</android.support.design.widget.CoordinatorLayout>
My question is: in what exact
ViewGroup(or maybeView) should we put
thatapp:layout_behavior?
And in this link: http://guides.codepath.com/android/Handling-Scrolls-with-CoordinatorLayout
Next, we need to define an association between the
AppBarLayoutand
the View that will be scrolled. Add anapp:layout_behaviorto a
RecyclerViewor any other View capable of nested scrolling such as
NestedScrollView. The support library contains a special string
resource@string/appbar_scrolling_view_behaviorthat maps to
AppBarLayout.ScrollingViewBehavior, which is used to notify the
AppBarLayoutwhen scroll events occur on this particular view. The
behavior must be established on the view that triggers the event.