ANDROID 触摸屏事件和位置的获取

来源:互联网 发布:utorrent mac版打不开 编辑:程序博客网 时间:2024/04/29 23:49

在修改后的工厂测试程序中,用到了关于触摸事件的获取,顺便学习关于触摸事件和触摸位

Java代码
//这个方法是系统自动调用的,所以你懂的,呵呵
  1. public boolean onTouchEvent(MotionEvent event)  
  2.   
  3. //获得触摸的坐标  
  4. float event.getX();  
  5. float event.getY(); switch (event.getAction())   
  6.  
  7. //触摸屏幕时刻  
  8. case MotionEvent.ACTION_DOWN:  
  9.   
  10. break 
  11. //触摸并移动时刻  
  12. case MotionEvent.ACTION_MOVE:  
  13.   //写上你的处理动作
  14. break 
  15. //终止触摸时刻  
  16. case MotionEvent.ACTION_UP:  
  17. break 
  18.  
  19. return true 
  20.  

的知识,其方法如下:


关于public boolean onTouchEvent (MotionEvent event)方法:

参数event:参数event为手机屏幕触摸事件封装类的对象,其中封装了该事件的所有信息,例如触摸的位置、触摸的类型以及触摸的时间等。该对象会在用户触摸手机屏幕时被创建。

返回值:该方法的返回值机理与键盘响应事件的相同,同样是当已经完整地处理了该事件且不希望其他回调方法再次处理时返回true,否则返回false。

该方法并不像之前介绍过的方法只处理一种事件,一般情况下以下三种情况的事件全部由onTouchEvent方法处理,只是三种情况中的动作值不同。

屏幕被按下:当屏幕被按下时,会自动调用该方法来处理事件,此时MotionEvent.getAction()的值为MotionEvent.ACTION_DOWN,如果在应用程序中需要处理屏幕被按下的事件,只需重新该回调方法,然后在方法中进行动作的判断即可。

屏幕被抬起:当触控笔离开屏幕时触发的事件,该事件同样需要onTouchEvent方法来捕捉,然后在方法中进行动作判断。当MotionEvent.getAction()的值为MotionEvent.ACTION_UP时,表示是屏幕被抬起的事件。

在屏幕中拖动:该方法还负责处理触控笔在屏幕上滑动的事件,同样是调用MotionEvent.getAction()方法来判断动作值是否为MotionEvent.ACTION_MOVE再进行处理