多指操作Photoview

定义一个photoview的类继承与View

并实现view的构造方法

定义几个变量offsetXY 偏移量,downXY手指按下的坐标,lastoffsetXY最后一次的偏移量,currentPintId当前操作的手指Id

初始化

重写onDraw方法,并进行绘制

重写onTouchEvent方法,并返回true

单指操作的时候调用方法:event.getAction()
多指操作的时候调用方法:event.getActionMasked()

多指操作的几个重要方法

event.findPointerIndex(id):通过id获取index值。

event.getPointerId(index):通过index获知id值。

event.getPointerCount():获取总的point。

event.getActionIndex();

switch (event.getActionMasked()){

第一根手指按下触发 只会触发一次

case MotionEvent.ACTION_DOWN:

case MotionEvent.ACTION_MOVE:

只会触发一次,最后一根指头抬起时触发

case MotionEvent.ACTION_UP:

非第一根手指按下,触发

case MotionEvent.ACTION_POINTER_DOWN:

非最后一根指头抬起,触发

case MotionEvent.ACTION_POINTER_UP:

}

当 第一根手指按下时,记录当前手指落下的坐标,并记录这一根手指

当手指移动的时候,记录偏移量,刷新

当最后一根手指抬起时,记录偏移量

当非第一根手指落下时,记录当前手指,坐标以及偏移量

当非最后一根手指抬起时

在xml中绑定photoview

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容