zoukankan      html  css  js  c++  java
  • android android 判断是否滑动

    (转自:http://blog.csdn.net/angle_rupert/article/details/6255522)

    声明:

    1     float x_temp01 = 0.0f;
    2     float y_temp01 = 0.0f;
    3     float x_temp02 = 0.0f;
    4     float y_temp02 = 0.0f; 

    重写Activity的onTouchEvent方法:

     1  @Override  
     2     public boolean onTouchEvent(MotionEvent event)
     3     {
     4         //获得当前坐标
     5             float x = event.getX();
     6             float y = event.getY();
     7             
     8             switch(event.getAction())
     9             {
    10                     case MotionEvent.ACTION_DOWN: 
    11                     {
    12                         x_temp01 = x;
    13                         y_temp01 = y;
    14                     }
    15                     break;
    16                     case MotionEvent.ACTION_UP: 
    17                     {
    18                         x_temp02 = x;
    19                         y_temp02 = y;
    20                         
    21                         if(x_temp01!=0 && y_temp01!=0)//
    22                         {
    23                                 // 比较x_temp01和x_temp02
    24                                 // x_temp01>x_temp02         //向左
    25                                 // x_temp01==x_temp02         //竖直方向或者没动
    26                                 // x_temp01<x_temp02         //向右
    27                                 
    28                                 if(x_temp01>x_temp02)//向左
    29                                 {
    30                                         //移动了x_temp01-x_temp02
    31                                 }
    32                                 
    33                                 if(x_temp01<x_temp02)//向右
    34                                 {
    35                                         //移动了x_temp02-x_temp01
    36                                 }
    37                         }
    38                     }
    39                     break;
    40                     case MotionEvent.ACTION_MOVE:
    41                     {
    42                             
    43                     }
    44                     break;
    45 
    46             }
    47             return super.onTouchEvent(event);
    48     }

    注经自己测试可行,简单好用;

    自己更改判断是否滑动:

     1         case MotionEvent.ACTION_DOWN: {
     2             isMove = false;
     3             downX=x;
     4             downY=y;
     5                         break;
     6                      }
     7         case MotionEvent.ACTION_UP: {
     8             upX =x;
     9             upY=y;
    10             if ((upX-downX!=0)||(upY-downY!=0))
    11                 isMove=true;
    12             else
    13                 isMove=false;
    14                         break;
    15                         }

     注意:对于某些手机灵敏度太高,可考虑判断

    if ((Math.abs(upX - downX) > 5) || (Math.abs(upY - downY) > 5))

  • 相关阅读:
    IP报头结构
    C#组件项目设置与开发应用范例
    UDP数据报协议
    WOW 各等级属性换算表
    清理SQLSERVER日志
    正则表达式匹配EXCEL地址字符串
    TCP数据段格式
    MAC地址结构
    (转载) Delphi中打印条码的方法
    为了使用uart2, 发现6252中define了 SCCB_SERIAL_CLK_PIN 值为 22, 为了避免冲突, 手动修改其值为 23
  • 原文地址:https://www.cnblogs.com/jenson138/p/4389399.html
Copyright © 2011-2022 走看看