android android 判断是否滑动
16lz
2021-12-04
(转自: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))
更多相关文章
- Android(安卓)实现 按钮从两边移到中间动画效果
- android 复制、粘贴字符串 (判断API 11 )
- 在Android中,如何通过onTouchEvent实现Double Click,判断为双击事
- Android(安卓)wifi提示已连接但是无法访问网络
- Android(安卓)判断是否能真正上网
- android判断APP是否已经安装
- android 判断手机是否插入SIM卡
- android 网络连接判断
- Android中如何判断是否联网