开发技巧:隐藏悬浮控制台中的输入框和确定按钮

躺平
539
·
2 个回应

场景描述

通过console.show()显示控制台的悬浮窗之后,控制台中会显示一个输入框和一个确定按钮,一般我们不需要这个功能,想要把它隐藏,查看开发文档却没有相关的隐藏方法,虽然不影响使用,但强迫症表示忍不了一点,必须把它隐藏掉!😂
效果如图:

方式一:通过console.show显示的悬浮窗

// 显示控制台的悬浮窗
console.show();
// 隐藏输入框和确定按钮
ui.run(function() {
  let mConsoleViewField = runtime.console.getClass().getDeclaredField('mConsoleView');
  mConsoleViewField.setAccessible(true);
  let refConsoleView = mConsoleViewField.get(runtime.console);
  let mConsoleView = refConsoleView.get();
  mConsoleView.findViewById(com.stardust.autojs.R.id.input_container).visibility = android.view.View.GONE;
});

log('测试。。。');
setTimeout(() => { }, 5000);

方式二:自定义悬浮窗控制台

// 创建自定义悬浮窗
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"/>
    </vertical>
);
fw.console.setConsole(runtime.console);
// 隐藏控制台的输入框和确定按钮
ui.run(function() {
  fw.console.findViewById(com.stardust.autojs.R.id.input_container).visibility = android.view.View.GONE;
});

log('测试。。。');
setTimeout(() => { }, 5000);
发布于 2025-05-26
好文需要鼓励,点赞获取更新通知
投了 2000 金币