我有一个水平滚动recyclerview
。 recyclerviews
子项目具有向上滑动面板。因此,当面板展开时,我想阻止recyclerview
滚动。
直到向上滑动面板展开,用户无法滚动到下一个项目。折叠滑动面板后,应启用recyclerview
滚动。
这是recyclerview
初始化代码
mAdapter = new FootballFeedDetailAdapter(FootballFeedDetailActivity.this);
linearLayoutManager = new LinearLayoutManager(this, LinearLayoutManager.HORIZONTAL, false);
recyclerView.setLayoutManager(linearLayoutManager);
recyclerView.setAdapter(mAdapter);
SnapHelper snapHelper = new PagerSnapHelper();
snapHelper.attachToRecyclerView(footballFeedRecyclerView);
我尝试使用recyclerView.setNestedScrollingEnabled(false);
但它不起作用
如果幻灯片面板已展开,则从我的适配器我正在使用以下方法
public void setUpRecyclerViewScroll(boolean status) {
footballFeedRecyclerView.setNestedScrollingEnabled(status);
}
提前致谢。如果有人回答这个问题,我会非常乐于助人。
答案 0 :(得分:2)
扩展LinearLaoyutManager并覆盖canScrollHorizontally
方法。
展开/折叠幻灯片面板时,请调用layoutmanager setScrollingEnabled(false/true)
private static class HScrollManager extends LinearLayoutManager {
private boolean scrollingEnabled = true;
public void setScrollingEnabled(boolean enabled) {
scrollingEnabled = enabled;
}
@Override
public boolean canScrollHorizontally() {
return scrollingEnabled && super.canScrollVertically();
}
}