(转自: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 复制、粘贴字符串 (判断API 11 )
  3. 在Android中,如何通过onTouchEvent实现Double Click,判断为双击事
  4. Android(安卓)wifi提示已连接但是无法访问网络
  5. Android(安卓)判断是否能真正上网
  6. android判断APP是否已经安装
  7. android 判断手机是否插入SIM卡
  8. android 网络连接判断
  9. Android中如何判断是否联网

随机推荐

  1. android之sqliteDatabase,sqliteOpenHelp
  2. Android基础入门教程——8.1.1 Android中
  3. 浅谈Android中MVC、MVP、MVVM模式(二)
  4. KJFrameForAndroid(安卓)1.3beta 发布,And
  5. 深刻解析 Android(安卓)的 AIDL 介面
  6. android style(样式)和theme(主题)设置
  7. Android异步处理一:使用Thread+Handler实
  8. Android开发实践:Android交叉编译工具链的
  9. Android中多线程同步问题
  10. 移动端app开发-02-iPhone/iPad/Android(