最近项目在做瀑布流 ,然后整体我是用RecyclerView 做的 ,而且每个item 里面会有个播放器。我们的需求是这个播放器可以全屏展开,但是如果全屏展开 ,不能让RecyclerView 滚动。网上看到都是 改LinearLayoutManger 的 canScroll 这个 是初始化的时候 可以禁用。但是我这中需求可能不太符合,后来我想是不是可以 在横屏的时候 把 触摸事件消费了。 进过实验 这种方式可以实现,但是我后面思考了下,事件不能消费,事件消费了里面的view 点击都没有办法响应了。于是我在横屏的时候 把事件分发下去。不在RecyclerView 中处理
下面我贴一下代码 仅供参考
boolean scrollEnable = true;
public void setScrollEnable(boolean scrollEnable){
this.scrollEnable = scrollEnable;
}
@Override
public boolean onInterceptTouchEvent(MotionEvent e) {
if(!scrollEnable){
return false;
}
return super.onInterceptTouchEvent(e);
}