// 创建自定义悬浮窗控制台
let fw = floaty.rawWindow(
<vertical w="200" h="200" bg="#80333333">
<text bg="#000000" textColor="#ffffff">日志信息</text>
<com.stardust.autojs.core.console.ConsoleView id="console"/>
<button id="closeBtn" text="关闭" layout_gravity="center|bottom" textSize="16sp" margin="10"/>
</vertical>
);
fw.console.setConsole(runtime.console);
// 隐藏输入框和确定按钮
ui.run(function() {
fw.console.findViewById(com.stardust.autojs.R.id.input_container).visibility = android.view.View.GONE;
});
// 绑定关闭按钮点击事件
fw.closeBtn.click(function () {
fw.close(); // 关闭悬浮窗
//   hamibot.exit(); // 退出脚本(可选)
});
log('日志进程启动...');
setTimeout(() => {}, 5000);   改为右上角显示X关闭按钮
回答
要将关闭按钮 (X) 显示在悬浮窗的右上角,你可以调整布局中的 layout_gravity 和控件排列方式。以下是修改后的代码:
// 文档地址 https://docs.hamibot.com/
let fw = floaty.rawWindow(
  <vertical w="200" h="200" bg="#80333333" padding="10">
    <horizontal gravity="right">
      <text bg="#000000" textColor="#ffffff" textSize="16sp" padding="4" margin="2">日志信息</text>
      <button id="closeBtn" text="✕" textSize="18sp" background="#FF0000" w="30" h="30" margin="0"/>
    </horizontal>
    <com.stardust.autojs.core.console.ConsoleView id="console" layout_weight="1"/>
  </vertical>
);
fw.console.setConsole(runtime.console);
// 隐藏输入框和确定按钮
ui.run(function() {
  fw.console.findViewById(com.stardust.autojs.R.id.input_container).visibility = android.view.View.GONE;
});
// 绑定关闭按钮点击事件
fw.closeBtn.click(function () {
  fw.close(); // 关闭悬浮窗
  // hamibot.exit(); // 退出脚本(可选)
});
log('日志进程启动...');
setTimeout(() => {}, 5000);
改动说明:
- 使用 <horizontal>布局,并通过gravity="right"将“日志信息”文本和“关闭按钮 ✕”排列在右上角。
- 设置 <button>的宽高为30dp,并使用红色背景和大叉符号✕表示关闭操作。
- 保留 ConsoleView作为控制台输出区域,并添加了layout_weight="1"以填充剩余空间。
这样你的悬浮窗会在右上角显示一个清晰的关闭按钮 ✕。