先看看官网对于AppBarLayout.OnOffsetChangedListener的解释:
Interface definition for a callback to be invoked when an AppBarLayout's vertical offset changes.
当AppBarLayout垂直方向上的偏移量发生改变时,为触发一个回调方法定义的接口。
触发的回调方法是:
onOffsetChanged(AppBarLayout appBarLayout, int verticalOffset)
Called when the AppBarLayout's layout offset has been changed. This allows child views to implement custom behavior based on the offset (for instance pinning a view at a certain y value).
在AppBarLayout的布局偏移量发生改变时被调用。这个方法允许子view根据偏移量实现自定义的行为(比如在特定Y值的时候固定住一个View)。
解释的非常清楚了,不过我们需要点例子才好理解。
就以stackoverflow上的一个问题为例吧。
问题描述
当我把CollapsingToolbarLayout,CollapsingToolbarLayout以及SwipeRefreshLayout用在一起的时候:
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true">
android:id="@+id/coordinator_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true">
android:id="@+id/appbar"
android:layout_width="match_parent"
android:layout_height="@dimen/collapse_toolbar_height"
android:fitsSystemWindows="true"
android:th