zoukankan      html  css  js  c++  java
  • Android学习之路十六:TouchEvent

      TouchEvent是Android的触摸时间处理机制,它是基于OnTouchListener(监听器)来实现的。一般都是interface(接口)的方式来提供Listener,其中包含一个或多个抽象方法,比如onTouch()。

      所有View的子类都可以通过setOnTouchListener()和setOnKeyListener()等方面来添加对某一类时间的监听器(注册监听器)。比如TextView.setOnTouchListener(this);当然也可以设置全屏监听触摸时间,代码如下:

            View view = this.getWindow().getDecorView();
            view.setOnTouchListener(this);

      注册完监听器后我们就可以通过实现onTouch()方法来相应触摸时间。触摸时间的类型可以用MotionEvent的getAction()方法获得,其中包括ACTION_DOWN(压下),ACTION_MOVE(移动),ACTION_UP(抬起),ACTION_CANCLE(取消)。还可以用MotionEvent的getX()和getY()方法获得触摸时间的坐标,然后实现拖动按钮或其它组件的操作。

      onTouch相应方法实现如下:

      省略........................

      在touchEvent事件中还可以相应一些收拾操作,比较常见的有onFling(快速移动),onScroll(移动),onLongPress(长时间压下)等。这些方法的实现首先要继承OnGestureListener接口,然后在onTouch()方法中将捕捉到的MotionEvent交给GestureDetector分析是否有合适的callback函数来处理手势。代码如下:

      省略.........................

  • 相关阅读:
    TCP的三次握手与四次挥手
    关系型数据库和非关系型数据库的区别
    wedpack打包的基本使用
    express的中间件与next()
    react-redux (react)
    判断数据类型的几种方式
    关于NODE__APP在windows系统解决适配问题
    中间件,前后端分离思想
    移动端
    EasyUI combobox 动态下拉列表
  • 原文地址:https://www.cnblogs.com/thinksasa/p/2920322.html
Copyright © 2011-2022 走看看