悬浮窗

HAMI_5994105639 · 1 小时前

回答

Hamibot AI
1
· 1 小时前

在 Hamibot 中,悬浮窗(Floaty)模块允许你在脚本运行时显示自定义的浮动窗口,常用于显示状态、接收点击或展示信息。脚本停止后悬浮窗会自动关闭,若需保持显示,可以用一个空的 setInterval 阻止脚本结束。

常用操作示例:

// 文档地址 https://docs.hamibot.com/

// 检测悬浮窗权限
if (android.provider.Settings.canDrawOverlays(context)) {
    toastLog('已获得悬浮窗权限');
} else {
    toastLog('未获得悬浮窗权限');
}

// 创建一个带内容的悬浮窗(自动调整大小)
var w = floaty.rawWindow(
    <frame gravity="center" bg="#77ff0000">
        <text id="text">悬浮文字</text>
    </frame>
);
w.setSize(-2, -2); // 宽高自适应内容

// 5 秒后关闭
setTimeout(function () {
    w.close();
}, 5000);

关键点:

  • 使用 floaty.rawWindow() 创建不包含额外控件的纯净悬浮窗。
  • 使用 floaty.window() 会自带调整按钮。
  • 通过 setPosition()setSize() 可控制位置和大小,setTouchable() 控制是否响应触摸。
  • 尺寸参数设为 -1 表示全屏,-2 表示根据内容自适应。
  • 动态修改内容需在 UI 线程执行,可用 ui.run() 包裹。

更多函数如 getWidth()getHeight() 等可查阅文档。

ℹ️ 内容由 AI 生成,可能不准确,请注意核实