如何禁止switch上下滑动带动scrollview滑动
时间: 2023-07-18 16:19:45 浏览: 112
解决与ScrollView嵌套的冲突,并且listview取消上下滑动
可以在 `Switch` 上设置一个触摸监听器,然后在监听器中处理触摸事件,当用户在 `Switch` 上进行上下滑动操作时,禁止 `ScrollView` 滑动。
你可以像下面这样实现:
```java
switch.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_MOVE:
scrollView.requestDisallowInterceptTouchEvent(true);
break;
case MotionEvent.ACTION_UP:
case MotionEvent.ACTION_CANCEL:
scrollView.requestDisallowInterceptTouchEvent(false);
break;
}
return false;
}
});
```
在触摸监听器中,当用户在 `Switch` 上进行上下滑动时,我们调用 `requestDisallowInterceptTouchEvent(true)` 方法告诉 `ScrollView` 不要拦截触摸事件,这样 `ScrollView` 就不会被滑动了。当用户停止在 `Switch` 上滑动时,我们再调用 `requestDisallowInterceptTouchEvent(false)` 方法告诉 `ScrollView` 可以拦截触摸事件了。
阅读全文