当前位置: 首页 > 网络应用技术

Harmonyos(Hong Meng) - 在滑动事件的左侧和右侧停滞不前

时间:2023-03-05 22:50:57 网络应用技术

  滑动事件有多个步骤。这不是一个简单的事件。它需要多个动作才能完成。滑动分为向上,向下滑动,左右滑动。今天,移动互联网和短视频等行业的快速发展,每个人都非常熟悉滑动事件,尤其是小型娱乐视频,例如Douyin和Kuaishou。

  在日常生活中,我们经常使用坐标系来确定位置以及手机。手机的坐标系统是三维三维空间。它分为x,y和z轴。轴,垂直方向是y轴,屏幕上的垂直方向是z轴。z轴我们通常使用相对较少的Z轴。

  在手机滑动过程中,我们可以确定坐标的坐标之间的差异时,当手指按下手指的坐标并松开手指的坐标并松开手指的坐标,并松开手指的坐标。过程,不可能确保X或Y的坐标保持不变,这意味着手指相对粗糙,快速,左侧,向右,向上和向下滑动将有一定的错误。我们可以被视为范围内的幻灯片,因此在允许间隔范围内发生滑动。

  请注意,下面的所有常数都是间隔范围内的常数。如果允许的间隔为5和开始位置0,则结束位置在+5和-5.Changeless的范围内。

  左幻灯片:y坐标保持不变,x坐标变小

  右滑:y坐标保持不变,x坐标变大

  秋天:x坐标保持不变,y坐标变小

  滑动:x坐标保持不变,y坐标变大

  MaperabilitySlice实现组件。TouchEventListener接口并重写OnTouchEvent方法。在OnTouchEvent方法中,我们可以通过方法参数toucheevent对象获得坐标相关的信息。

  完整的代码如下,此代码不考虑该范围,仅用于演示坐标的获取

  我们通过按下,滑动和松动来测试效果

  目前,我们判断操作中x和y的更改。primary_point_up==操作操作。我们需要定义四个变量来记录启动x和y的值以及x和y的末端的值。

  float startx;

  float starty;

  float endx;

  float endy;

  请注意,您不能将其放在此处的方法中,需要提取类成员变量。

  但是上面的代码发现,我们几乎不可能在测试过程中测试滑动的效果。为什么?代码编写错误?实际上,事实并非如此,但是我一开始说的是,很难实现绝对的X或Y不变。我们进行了一些轻微的调整。我们从上一个==变为差异的绝对值<= 50

  再次测试!