(转自: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_temp0224                                 // 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_temp0231                                 }32                                 33                                 if(x_temp01<x_temp02)//向右34                                 {35                                         //移动了x_temp02-x_temp0136                                 }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             else13                 isMove=false;14                         break;15                         }

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

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

更多相关文章

  1. Android中的两种坐标系
  2. Android坐标系
  3. 根据百度地图API得到坐标和地址并在地图上显示
  4. Android 中可重写的一些样式
  5. Android 教你如何通过 LocationManager 获取得到当前位置坐标
  6. fullScreen时的软键盘监听(非重写Layout方式)
  7. android重写Dialog(接上文)
  8. 重写dialog
  9. Android View坐标getLeft, getRight, getTop, getBottom

随机推荐

  1. EditText 失去焦点
  2. Android 应用程序基础知识(2)
  3. Android如何横屏, 全屏, 背景灯常量
  4. 19個好用的Android開發工具(Written By: v
  5. 基本的UI组件(TextView、EditText、Butto
  6. 【Android 界面效果39】android:inputTyp
  7. android 多击事件的实现方法
  8. android 读取串口数据的服务,android串口
  9. 关于android旋屏问题
  10. 【Android 系统开发】 Android 系统启动