Android onTouch事件处理三种方式解析

Android 的触摸事件方式还挺多的,但归根到底主要就三种:接口实现、内部类,还有匿名内部类。

接口实现的方式比较经典,写个类去实现 View.OnTouchListener,把逻辑都放进去,清晰明了。适合功能比较重的情况,比如一个按钮要做复杂手势响应,那就这么来。

内部类的写法其实和接口实现差不多,但好处是你能在内部类里直接用外部类的变量,像操作 UI 的时候就方便。你要是在 Activity 里搞触摸,写成内部类配合 findViewById 效率还挺高。

至于匿名内部类嘛,代码短小精悍,适合一些轻量的交互,比如按钮的按下反馈啥的。不过太多匿名类会让代码可读性变差,维护起来会有点糊,所以场景得选好。

其实这三种写法没有谁更高级,主要看你项目复杂度和风格偏好。触摸事件,核心就是对 MotionEvent 类型判断,比如 ACTION_DOWNACTION_MOVEACTION_UP,响应及时,体验才会顺畅。

如果你还想挖掘更细的交互,比如多点触控、滑动冲突,推荐看看ViewGroup 和 View 的触摸事件流程,讲得也挺清楚的。

rar 文件大小:39.22KB