回答
要重置悬浮窗的位置,可以通过 setPosition(x, y)
方法将悬浮窗移动到指定坐标。具体步骤如下:
-
保存悬浮窗对象
创建悬浮窗时需保存返回的窗口对象,例如:var window = floaty.window( <frame gravity="center" bg="#FF0000"> <text id="text">悬浮内容</text> </frame> );
-
记录初始位置(可选)
若需恢复到初始位置,可在创建后获取初始坐标:var initialX = window.getX(); var initialY = window.getY();
-
重置位置
调用setPosition(x, y)
方法设置新坐标:window.setPosition(0, 0); // 重置到屏幕左上角 // 或恢复初始位置 window.setPosition(initialX, initialY);
-
注意事项
- 所有对悬浮窗的修改(如
setPosition
)必须在 UI 线程执行,若需在非 UI 线程操作,用ui.run()
包裹:ui.run(function() { window.setPosition(100, 200); });
- 如果悬浮窗已关闭,需重新创建。
- 所有对悬浮窗的修改(如
完整示例:
// 创建悬浮窗并保存对象
var window = floaty.window(
<frame gravity="center" bg="#FF0000">
<text id="text">悬浮内容</text>
</frame>
);
// 5秒后重置位置
setTimeout(function() {
window.setPosition(0, 0); // 重置到屏幕左上角
}, 5000);
ℹ️ 本回答由 AI 生成,内容仅供参考