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))

转载于:https://www.cnblogs.com/jenson138/p/4389399.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值