当前位置:   article > 正文

HarmonyOS 监听滑动事件左滑,右滑,上滑,下滑,以及返回值的意义_harmonyos检测滑动

harmonyos检测滑动
  1. btn2.setTouchEventListener(new Component.TouchEventListener() {
  2. @Override
  3. public boolean onTouchEvent(Component component, TouchEvent touchEvent) {
  4. //参数1 代表手指的索引 单手指传递0就好了
  5. MmiPoint pointerPosition = touchEvent.getPointerPosition(0);
  6. float x = pointerPosition.getX();
  7. float y = pointerPosition.getY();
  8. int action = touchEvent.getAction();
  9. switch (action) {
  10. //按下
  11. case TouchEvent.PRIMARY_POINT_DOWN:
  12. startX = x;
  13. startY = y;
  14. btn2.setText("按下(" + x + "," + y + ")");
  15. break;
  16. //弹起
  17. case TouchEvent.PRIMARY_POINT_UP:
  18. // btn2.setText("弹起(" + x + "," + y + ")");
  19. break;
  20. //滑动
  21. case TouchEvent.POINT_MOVE:
  22. // btn2.setText("滑动"+count);
  23. endX = x;
  24. endY = y;
  25. //右滑动 控制左边滑动浮动不超过100
  26. if (endX > startX && Math.abs(endX - endY) < 100) {
  27. btn2.setText("右滑(" + x + "," + y + ")");
  28. } else if (endX < startX && Math.abs(endX - endY) < 100) {
  29. btn2.setText("左滑(" + x + "," + y + ")");
  30. } else if (endY > startY && Math.abs(endX - startX) < 100) {
  31. btn2.setText("下滑(" + x + "," + y + ")");
  32. } else if (endY < startY && Math.abs(endX - startX) < 100) {
  33. btn2.setText("上滑(" + x + "," + y + ")");
  34. }
  35. break;
  36. }
  37. // 返回为true 所有动作都会执行并返回代码
  38. // 返回false 表示只有一个动作会触发当前方法并执行对应代码
  39. return true;
  40. }
  41. });

滑动黑色区域 会改变

写了一个100 是为了防止滑动的时候分明是左滑但是会判定为右边滑动这样的情况。可以根据自己的实际需求去改写

// 返回为true 所有动作都会执行并返回代码
// 返回false 表示只有一个动作会触发当前方法并执行对应代码
return true;

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/350292
推荐阅读
相关标签
  

闽ICP备14008679号