Check this link: https://developer.android.com/reference/android/support/design/widget/AppBarLayout.html
AppBarLayout
also requires a separate scrolling sibling in order to
know when to scroll. The binding is done through the
AppBarLayout.ScrollingViewBehavior
class, 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
AppBarLayout
and
the View that will be scrolled. Add anapp:layout_behavior
to a
RecyclerView
or any other View capable of nested scrolling such as
NestedScrollView
. The support library contains a special string
resource@string/appbar_scrolling_view_behavior
that maps to
AppBarLayout.ScrollingViewBehavior
, which is used to notify the
AppBarLayout
when scroll events occur on this particular view. The
behavior must be established on the view that triggers the event.