触摸事件类MotionEvent的一些小细节

原创 2015年11月18日 22:58:24

     最近在做一个小工具,用到了触摸类MotionEvent的action_DOWN,action_UP的东西,这中间有些小细节感觉跟上篇文章:                 http://blog.csdn.net/rainbowchou/article/details/49885511  有些关联,这个问题在stack overflow得到解决,同时这个问题的解决,也算是获得一个技巧了,自己记录学习一下。比较晚了,明天才开始写正题.

      一拖拖了好几天,好烦。

     这个小细节主要是来自我需要的一个需求,我需要在一个ImageView的Touch事件中实现这么一个逻辑:

     首先ImageView默认是有一张图片的,然后在触摸的时候我希望能够在改变ImageView显示图片的同时,希望能够执行一个触摸事件。

   听起来真的是非常简单的,不就是在action_DOWN,action_UP中处理一下事件,然后在点击事件中处理逻辑事件不就好了嘛?然而,但我这么做的时候,发现action_DOWN部分的逻辑可以处理,但是点击的部分却是没有执行这部分代码,这时候我就想到Android的事件拦截机制了,在这里OnTouch事件中最后是返回了false,那么这其中应该事件继续向下传递,可以执行点击事件的代码啊。

   然后就去Stack OverFlow搜索,真是个好网站,什么稀奇古怪的问题都有,恰好就有我的问题:

     当然需求不是一模一样的,在我总结之后,我的解决方案是这样的:

    

      在action_DOWN中就进行了返回true的处理,这么处理的话,说明事件已经在这消费掉了,那肯定是不能在点击事件中写逻辑了,把逻辑移动到

    action_UP中进行处理,这里最重要的一个点就是在action_DOWN中返回的那个true,如果这里没有返回true,那么action_UP中的逻辑也是没有办法进行处理的。这一点其实也不难理解:

   因为如果在action_DOWN中没有返回true的话,那么这里的事件继续传递了,那么就不会去执行接下来另一个action_UP的逻辑了,返回true那么就完成这个事件,那就可以继续接收另一个事件了。

   利用这种方法,虽然我们不能够去处理点击事件的逻辑,因为事件压根就没有传递到点击事件(onclick())中,但是在他之前的OnTouch就完成了。

  之前说过,Android这个触摸事件机制是可以层层嵌套的,那么我们可以决定在哪一层进行事件的回收以及相关操作了。

  



   Ps:我发现这个编辑器不太好用,csdn有个MarkDown编辑器,之前大概看了下官方给的教程,还挺容易的,希望自己下次的文章能够使用MrakDown来进行。

            写博客是为了希望自己能更好的学习,最近又懒了,不可取,再接再厉吧。

版权声明:本文为博主原创文章,未经博主允许不得转载。

Android之触摸事件MotionEvent

Android之触摸事件MotionEvent 今天第一次写博客,就讲简单地写一点触摸事件吧 onTouch方法 它是我们在复写触摸监听时候经常碰到的方法,在这里我们可以获取MotionEve...

Android 笔记 motionEvent 处理触摸事件

定义触摸事件在处理触摸事件的时候,主要有两种启动方式 1,view.setOnTouchListener() 2,在自定义view/activity的时候覆盖一个方法onTouchEvent() ...

Android中触摸事件MotionEvent的来源

MotionEvent的来源在activity中我们经常需要处理触摸事件,要了解android触摸事件event的传递是比较复杂的,今天先看看activity中触摸事件的来源。 首先看Activit...

触摸事件 Touch MotionEvent ACTION

触摸事件 Touch MotionEvent ACTION MotionEvent简介 当用户触摸屏幕时,将创建一个MontionEvent对象,Motio...

Android 手势&触摸事件 MotionEvent

1.http://blog.csdn.net/omg_2012/article/details/7881443 这篇相当好啊 2.http://blog.csdn.net/android_tuto...

android 学习之触摸事件 -- 认识MotionEvent

介绍android 的MotionEvent多点触摸的pointerindex和pointerid相关知识,纠正以前的误解...

ViewGroup和View中的触摸事件流程

  • 2017年03月23日 15:37
  • 75KB
  • 下载

IOS,触摸事件

  • 2015年06月02日 21:26
  • 430B
  • 下载

quick-cocos2dx lua语言讲解 (动作,定时器,触摸事件,工程的类的讲解)

quick-cocos2dx lua语言讲解 (动作,定时器,触摸事件,工程的类的讲解)

监听触摸事件,移动动画。

  • 2016年03月03日 17:36
  • 3.81MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:触摸事件类MotionEvent的一些小细节
举报原因:
原因补充:

(最多只允许输入30个字)