Android中多点触控以及手势的基础知识
来源:互联网 发布:销售客户软件 编辑:程序博客网 时间:2024/05/17 02:30
- 触摸事件监听
注意:
1)
对于多点触控,我们需要由MotionEvent.getAction()&MotionEvent.ACTION_MASK得到:ACTION_POINTER_DOWN、ACTION_POINTER_UP;
2)
第二个手指按下时,将触发MotionEvent.ACTION_POINTER_DOWN事件
@Override public boolean onTouchEvent(MotionEvent event) { int action = event.getAction()& MotionEvent.ACTION_MASK; switch (action) { case MotionEvent.ACTION_DOWN: //单点和多点两者共用的 break; case MotionEvent.ACTION_POINTER_DOWN: //第二个手指按下时,触发 break; case MotionEvent.ACTION_MOVE: break; case MotionEvent.ACTION_UP: case MotionEvent.ACTION_POINTER_UP: break; } }
event.getPointerCount() 获取当前触控点的数量
event.getPointerId(i) 获取指定触控点的Id,用于区分不同的触控点
event.getX(i) 获取指定触控点的X坐标
event.getY(i) 获取指定触控点的Y坐标
event.getPressure(i) 获取指定触控点的压力值,此值的获取需要LCD硬件和驱动的支持
2. 常用手势处理
//两点的距离private float distance(MotionEvent event) { float x = event.getX(0)-event.getY(1); float y = event.getY(0)-event.getY(1); return (float)Math.sqrt(x*x+y*y); }
/** * 取旋转角度 * * @param event * @return */ private float rotation(MotionEvent event) { double delta_x = (event.getX(0) - event.getX(1)); double delta_y = (event.getY(0) - event.getY(1)); double radians = Math.atan2(delta_y, delta_x); return (float) Math.toDegrees(radians); }
/** * 按下两点的中心点 * * @param point * @param event */ private void midPoint(PointF point, MotionEvent event) { float x = event.getX(0) + event.getX(1); float y = event.getY(0) + event.getY(1); point.set(x / 2, y / 2); }
阅读全文
0 0
- Android中多点触控以及手势的基础知识
- Android中多点触控以及手势的基础知识
- android 处理多点触控手势
- 简单的多点触控手势算法
- Android实战之手势与多点触控探究
- Android实战之手势与多点触控探究
- Android GestureDetector手势识别与多点触控探究
- Android 多点触控与简单手势(一)
- Android 多点手势识别
- Android 多点手势识别
- windows7中的多点触控中的手势
- windows7中的多点触控中的手势
- Android中禁止多点触控的设置
- Android中禁用掉多点触控
- Android多点触摸与手势
- Android多点触摸与手势
- Android多点触摸与手势
- Android多点触摸手势滑动的一种简单方法
- Java高效并发之锁优化(深入理解Java虚拟机学习笔记)
- vue2整个项目中,数据请求显示loading图
- 单例模式
- Kernel启动过程中被Stuck的调试
- Fragment与Activity生命周期交织
- Android中多点触控以及手势的基础知识
- IP地址子网划分(CIDR)
- rtspsever网络编程中的socket选项之keepalive
- 【noip 2015】跳石头
- react-native热更新之在ubuntu上搭建code-push-server环境
- mysql的字符串的拼接
- 函数指针 函数指针数组 指针函数 数组指针 指针数组
- RecyclerView滑动时item显示出现控件显示不全
- python的协程