HarmonyOS 监听滑动事件左滑,右滑,上滑,下滑,以及返回值的意义
Posted 安果移不动
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HarmonyOS 监听滑动事件左滑,右滑,上滑,下滑,以及返回值的意义相关的知识,希望对你有一定的参考价值。
btn2.setTouchEventListener(new Component.TouchEventListener()
@Override
public boolean onTouchEvent(Component component, TouchEvent touchEvent)
//参数1 代表手指的索引 单手指传递0就好了
MmiPoint pointerPosition = touchEvent.getPointerPosition(0);
float x = pointerPosition.getX();
float y = pointerPosition.getY();
int action = touchEvent.getAction();
switch (action)
//按下
case TouchEvent.PRIMARY_POINT_DOWN:
startX = x;
startY = y;
btn2.setText("按下(" + x + "," + y + ")");
break;
//弹起
case TouchEvent.PRIMARY_POINT_UP:
// btn2.setText("弹起(" + x + "," + y + ")");
break;
//滑动
case TouchEvent.POINT_MOVE:
// btn2.setText("滑动"+count);
endX = x;
endY = y;
//右滑动 控制左边滑动浮动不超过100
if (endX > startX && Math.abs(endX - endY) < 100)
btn2.setText("右滑(" + x + "," + y + ")");
else if (endX < startX && Math.abs(endX - endY) < 100)
btn2.setText("左滑(" + x + "," + y + ")");
else if (endY > startY && Math.abs(endX - startX) < 100)
btn2.setText("下滑(" + x + "," + y + ")");
else if (endY < startY && Math.abs(endX - startX) < 100)
btn2.setText("上滑(" + x + "," + y + ")");
break;
// 返回为true 所有动作都会执行并返回代码
// 返回false 表示只有一个动作会触发当前方法并执行对应代码
return true;
);
滑动黑色区域 会改变
写了一个100 是为了防止滑动的时候分明是左滑但是会判定为右边滑动这样的情况。可以根据自己的实际需求去改写
// 返回为true 所有动作都会执行并返回代码 // 返回false 表示只有一个动作会触发当前方法并执行对应代码 return true;
以上是关于HarmonyOS 监听滑动事件左滑,右滑,上滑,下滑,以及返回值的意义的主要内容,如果未能解决你的问题,请参考以下文章