我有一个 LinearLayout,当我在 RecyclerView 上向上滚动时我想隐藏它,并在我向下滚动时重新出现;行为应该就像工具栏如何隐藏和重新出现一样。
这是我到目前为止所拥有的:
<android.support.design.widget.CoordinatorLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<LinearLayout
android:id="@+id/viewToHideOnScroll
android:layout_width="match_parent"
android:layout_height="wrap_content">
<!-- other stuff inside the LinearLayout -->
</LinearLayout>
<RecyclerView
android:id="@+id/recyclerView
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
</android.support.design.widget.CoordinatorLayout>
据我目前所知,我可以指定一个app:layout_behavior
值 onviewToHideOnScroll
以便它根据 on 上的滚动事件平滑滚动进出视图recyclerView
。为此,我必须编写一个自定义类ViewToHideOnScrollBehavior
并覆盖layoutDependsOn
和其他一些方法(onNestedScroll
?)。
如果这是正确的,这就是我所拥有的:
public class ViewToHideOnScrollBehavior extends CoordinatorLayout.Behavior<LinearLayout> {
public ViewToHideOnScrollBehavior(Context context, AttributeSet attrs) {}
@Override
public boolean layoutDependsOn(CoordinatorLayout parent, LinearLayout child, View dependency) {
return dependency instanceof RecyclerView;
}
// some other method to override, I don't know
}
有人可以给我一个提示,还是我做错了?
我一直在关注https://lab.getbase.com/introduction-to-coordinator-layout-on-android/