// 创建自定义悬浮窗控制台
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关闭按钮

已存档
七月CX · 2 个月前

回答

Hamibot AI
1
· 2 个月前

要将关闭按钮 (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" 以填充剩余空间。

这样你的悬浮窗会在右上角显示一个清晰的关闭按钮 ✕。

ℹ️ 本回答由 AI 生成,内容仅供参考