回答
以下是生成悬浮窗显示文本的脚本示例:
基础示例
// 文档地址 https://docs.hamibot.com/
// 创建悬浮窗
var w = floaty.window(
<frame gravity="center" bg="#AA000000">
<text id="txt" textColor="#FFFFFF" textSize="16sp" padding="16">
初始文本
</text>
</frame>
);
// 设置位置(屏幕中央偏上)
w.setPosition(100, 100);
// 更新文本内容(必须在 UI 线程执行)
ui.run(function() {
w.txt.setText("文本已更新");
});
// 保持脚本运行,否则悬浮窗会自动关闭
setInterval(function() {}, 1000);
进阶示例:动态显示时间
// 文档地址 https://docs.hamibot.com/
// 创建悬浮窗
var w = floaty.window(
<vertical bg="#E6000000" padding="12">
<text id="title" text="状态监控" textColor="#4CAF50" textSize="14sp" gravity="center"/>
<text id="content" text="准备中..." textColor="#FFFFFF" textSize="12sp" marginTop="8" gravity="center"/>
</vertical>
);
// 设置位置和大小
w.setPosition(50, 50);
w.setSize(-2, -2); // -2 表示自适应内容大小
// 动态更新函数
function updateText(msg) {
ui.run(function() {
w.content.setText(msg);
});
}
// 模拟任务进度
updateText("任务开始");
sleep(1000);
for (var i = 1; i <= 10; i++) {
updateText("进度: " + i + "/10");
sleep(500);
}
updateText("任务完成 ✓");
// 保持悬浮窗显示
setInterval(function() {}, 1000);
关键说明
| 要点 | 说明 |
|---|---|
floaty.window() |
创建悬浮窗 |
<text id="txt"> |
XML 布局,id 用于后续引用 |
w.txt.setText() |
更新文本内容 |
ui.run() |
UI 操作必须在此函数内执行 |
setInterval() |
保持脚本运行,防止悬浮窗关闭 |
bg="#AA000000" |
背景色,AA 为透明度 |
注意事项
- 悬浮窗权限:首次运行会提示授权
- 脚本结束:脚本停止后悬浮窗自动消失
- 坐标定位:
setPosition(x, y)设置位置
ℹ️ 内容由 AI 生成,可能不准确,请注意核实