// 创建自定义悬浮窗控制台
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"
以填充剩余空间。
这样你的悬浮窗会在右上角显示一个清晰的关闭按钮 ✕。