我有以下布局
[CoordinatorLayout]
[AppBarLayout]
[CollapsingToolbarLayout]
[Toolbar]
[RelativeLayout/]
[/Toolbar]
[/CollapsingToolbarLayout]
[AppBarLayout]
[RecyclerView/]
[/CoordinatorLayout]
折叠工具栏工作正常。
我的回收视图就像这样
<android.support.v7.widget.RecyclerView
android:id="@+id/profile_grid"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/white"
android:overScrollMode="never"
app:layout_behavior="@string/appbar_scrolling_view_behavior" />
如果没有足够的项目,您无法滚动和折叠工具栏。
如果您尝试触摸appbar并向上滚动它会崩溃。
您是否知道一种方法可以阻止它并仅在用户触摸回收器时使其崩溃?
答案 0 :(得分:1)
当我看到here
时,答案很简单if (appBarLayout.getLayoutParams() != null) {
CoordinatorLayout.LayoutParams layoutParams = (CoordinatorLayout.LayoutParams) appBarLayout.getLayoutParams();
AppBarLayout.Behavior appBarLayoutBehaviour = new AppBarLayout.Behavior();
appBarLayoutBehaviour.setDragCallback(new AppBarLayout.Behavior.DragCallback() {
@Override
public boolean canDrag(@NonNull AppBarLayout appBarLayout) {
return false;
}
});
layoutParams.setBehavior(appBarLayoutBehaviour);
}