float startX=0,startY=0,offX=0,offY=0; @Override public boolean onTouchEvent(MotionEvent event) { int action = event.getAction(); switch (action){ case MotionEvent.ACTION_DOWN: startX = event.getX(); startY = event.getY(); break; case MotionEvent.ACTION_UP: offX = event.getX()-startX; offY = event.getY()-startY; if(Math.abs(offX)>Math.abs(offY)){ if(offX>5){ Right(); }else if(offX<-5){ Left(); } }else if(Math.abs(offX)<Math.abs(offY)){ if(offY>5) { Down(); }else if(offY<-5){ Up(); } } break; } return super.onTouchEvent(event); }
时间: 2023-06-23 15:07:55 浏览: 138
从NTFS硬盘完美启动BT3优化终结版2[1].0版 bt3硬盘启动
4星 · 用户满意度95%
这段代码是一个触摸事件处理的代码。当用户触摸屏幕时,系统将会调用这个方法,并传递一个MotionEvent对象作为参数。MotionEvent对象封装了触摸事件的信息,比如触摸的位置、手指的状态等。这段代码中,我们根据MotionEvent对象的action属性来判断用户是按下了屏幕还是抬起了手指。如果是按下了屏幕,我们记录下手指按下的位置,如果是抬起了手指,我们计算手指移动的距离,并判断移动的方向,然后根据移动的方向来执行相应的操作。比如,如果手指向右滑动,我们就调用Right()方法,如果手指向下滑动,我们就调用Down()方法。
阅读全文