Android 触摸 取消事件,android – 如何拦截所有触摸事件?
时间: 2024-02-24 07:56:58 浏览: 28
要拦截所有触摸事件,你可以使用一个自定义的 View 并重写 onTouchEvent() 方法。在该方法中,你可以返回 true 来表示你已经处理了该事件,或者返回 false 将该事件传递给下一个 View。如果你想取消事件,你可以使用 MotionEvent 的 cancel() 方法。
以下是一个简单的示例代码,演示如何拦截触摸事件并取消它们:
```
public class MyView extends View {
// 构造函数
public MyView(Context context, AttributeSet attrs) {
super(context, attrs);
}
// onTouchEvent() 方法
@Override
public boolean onTouchEvent(MotionEvent event) {
// 取消事件
event.cancel();
return true;
}
}
```
在该示例中,我们创建了一个名为 MyView 的自定义 View,并重写了 onTouchEvent() 方法。在该方法中,我们调用了 MotionEvent 的 cancel() 方法来取消事件,并返回 true 表示我们已经处理了该事件。
你可以将该自定义 View 添加到你的布局文件中,如下所示:
```
<com.example.MyView
android:layout_width="match_parent"
android:layout_height="match_parent" />
```
这样,该自定义 View 将拦截所有触摸事件并取消它们。