在某些情况下,我们需要让RecyclerView无法滚动,因此请发挥您的优势来解决这个问题。
答案 0 :(得分:1)
我有一些解决这个问题的方法,希望它可以帮助你。请参阅下面的详细信息:
void setLayoutFrozen(boolean frozen);
我强烈建议,如果我们只想为此方案设置滚动,因为它简单方便; if you want to know deeply
当我们使用 LayoutManager (LinearManager或GridLayoutManager)时,我们可以使用它。
`
LinearLayoutManager linearLayoutManager = new
LinearLayoutManager(mContext, LinearLayoutManager.VERTICAL, false){
@Override
public boolean canScrollVertically() {
return false;
}
@Override
public boolean canScrollHorizontally() {
return super.canScrollHorizontally();
}
};`
GridLayoutManager是一样的。
`
public class MyGridLayoutManager extends GridLayoutManager {
private boolean isScrollEnabled = true;
public MyGridLayoutManager(Context context, int spanCount) {
super(context, spanCount);
}
public MyGridLayoutManager(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
super(context, attrs, defStyleAttr, defStyleRes);
}
public MyGridLayoutManager(Context context, int spanCount, int orientation, boolean reverseLayout) {
super(context, spanCount, orientation, reverseLayout);
}
public void setScrollEnabled(boolean flag) {
this.isScrollEnabled = flag;
}
@Override
public boolean canScrollVertically() {
return isScrollEnabled && super.canScrollVertically();
}
}
` 4.我们可以处理RecyclerView TouchEvent以达到效果。
从上面,我相信你可以自己做。祝你好运......