回答
// 文档地址 https://docs.hamibot.com/
// 创建简易弹窗示例
var popup = floaty.window(
<vertical padding="16" bg="#ffffff" gravity="center">
<text id="title" textSize="18" textColor="#000000" gravity="center">提示</text>
<text id="message" textSize="16" margin="16" gravity="center">这是一个简易弹窗示例</text>
<horizontal gravity="center">
<button id="cancelBtn" text="取消" margin="8" w="80" h="40" bg="#e0e0e0"/>
<button id="confirmBtn" text="确定" margin="8" w="80" h="40" bg="#4caf50" textColor="#ffffff"/>
</horizontal>
</vertical>
);
// 设置弹窗初始位置(屏幕中央)
popup.setPosition(device.width / 4, device.height / 3);
// 确定按钮点击事件
popup.confirmBtn.click(function() {
toast("你点击了确定按钮");
popup.close();
});
// 取消按钮点击事件
popup.cancelBtn.click(function() {
toast("你点击了取消按钮");
popup.close();
});
// 5秒后自动关闭弹窗(可选)
setTimeout(function() {
if(popup) {
popup.close();
}
}, 5000);
// 保持脚本运行直到弹窗关闭
setInterval(function() {
if(!popup || !popup.isShowing()) {
hamibot.exit();
}
}, 1000);
这个代码会创建一个包含标题、消息和两个按钮的简易弹窗。弹窗会显示在屏幕中央,5秒后自动关闭,或者你可以点击"确定"或"取消"按钮手动关闭。
注意:
- 所有对UI的修改必须在UI线程中进行,但按钮事件监听已自动处理了线程问题
- 使用popup.isShowing()检查弹窗是否还在显示
- 如果需要修改弹窗内容,应该使用ui.run()在UI线程中操作,例如:
ui.run(function() {
popup.message.setText("新消息内容");
});