使用OnTouchListener监听滑动事件
2015-10-12 20:10
387 查看
OnTouchListener可以实现简单的滑动事件监听。
实现思路:
当按下手指的时候记录手指的坐标作为起始坐标,当手指抬起的时候把当前手指坐标与起始坐标对比,由此可以判断手指滑动的方向。
这样
实现思路:
当按下手指的时候记录手指的坐标作为起始坐标,当手指抬起的时候把当前手指坐标与起始坐标对比,由此可以判断手指滑动的方向。
<pre name="code" class="java">import android.view.MotionEvent; import android.view.View; import android.view.View.OnTouchListener; public abstract class ExtendedTouchListener implements OnTouchListener { private final int MOVE_LEFT = 1011; private final int MOVE_RIGHT = 1012; private final int MOVE_TOP = 1013; private final int MOVE_BOTTOM = 1014; private int preX; private int preY; @Override public boolean onTouch(View v, MotionEvent event) { switch (event.getAction()) { case MotionEvent.ACTION_DOWN: preX = (int) event.getX(); preY = (int) event.getY(); break; case MotionEvent.ACTION_UP: spearEvent(compare((int) event.getX(), (int) event.getY()), event); break; } return true; } private void spearEvent(int compare, MotionEvent event) { onFingerDown(event); switch (compare) { case MOVE_LEFT: onLeftTouch(event); break; case MOVE_RIGHT: onRightTouch(event); break; case MOVE_TOP: onTopTouch(event); break; case MOVE_BOTTOM: onBottomTouch(event); break; default: break; } } private int compare(int x, int y) { int dltX = x - preX, dltY = y - preY; if (Math.abs(dltX) > Math.abs(dltY) { return dltX > 0 ? MOVE_RIGHT : MOVE_LEFT; } else { return dltX > 0 ? MOVE_TOP : MOVE_BOTTOM; } } abstract void onFingerDown(MotionEvent event); abstract void onLeftTouch(MotionEvent event); abstract void onRightTouch(MotionEvent event); abstract void onTopTouch(MotionEvent event); abstract void onBottomTouch(MotionEvent event); }
这样
相关文章推荐
- 每周一刷——从斐波那契数列到动态规划
- 使用TortoiseSVN进行论文版本管理
- 自定义UI的基本结构
- Idea中Tomcat启动时日志乱码
- 1011. A+B和C (15)
- 实现类似于百度实时搜索将结果在下拉框中显示的功能
- PHP中的PDO详解
- 功能测试用例需要详细到什么程度,完全测试程序是可能的么
- C++ STL学习笔记四 list双向链表容器
- 内存操作函数
- 在MyEclipse下创建Java Web项目 入门(图文并茂)经典教程
- decltype
- Centos/RedHat7破解密码
- C++ STL学习笔记三 deque双端队列容器
- google镜像访问地址
- MongoDB 简单复制配置
- 151012C#学习笔记
- ceph集群快照、clone相关命令整理v1
- JAVA NIO之浅谈内存映射文件原理与DirectMemory
- 在MRC下怎么开发iOS应用