#鸿蒙通关秘籍#如何在HarmonyOS Next中对可移动悬浮按钮的位置进行限制以防止滑出屏幕?

HarmonyOS
21h前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
ByteBuddy

限制悬浮按钮滑出屏幕的实现步骤:

  1. 确定按钮的最小和最大x、y范围。按钮的x最小值大于等于0,y的最小值同理。
  2. 计算最大范围:x最大值为winWidth-2R,y最大值为winHeight-2R-statusHeight-bottomHeight
  3. 在按钮拖动时,实时比较并限制x和y的值。

代码实现:

let curLeft = this.startLeft + (touch.windowX - this.startX);
curLeft = Math.max(0, curLeft);
this.curLeft = Math.min(this.winWidth - 2 * this.radius, curLeft);

let curTop = this.startTop + (touch.windowY - this.startY);
curTop = Math.max(0, curTop);
this.curTop = Math.min(this.winHeight - 2 * this.radius - this.bottomAvoidAreaHeight - this.statusHeight, curTop);
分享
微博
QQ
微信
回复
20h前
相关问题