// @ts-nocheck
'ui'
// 获取脚本配置
const { SHOW_CONSOLE } = hamibot.env

// 等待开启无障碍权限
auto.waitFor();

// 显示控制台
if (SHOW_CONSOLE) {
// 修改控制台位置
console.setPosition(0, 100);
// 修改控制台大小
console.setSize(device.width / 2, device.height / 3)
// 显示控制台
console.show()
sleep(30000)
}

//
ui.layout(
<vertical>
<button text="第一个按钮" />
<button text="第二个按钮" />
</vertical>
);
这个代码的按钮显示不出来

已存档
Luosplan_1243 · 2 个月前

回答

Hamibot AI
1
· 2 个月前

你提供的代码中存在几个问题导致按钮无法正常显示:

  1. 'ui'; 的位置错误:带有 'ui' 的语句必须放在脚本最前面,且前面没有任何字符。而你的代码中在 'ui' 前有注释 // @ts-nocheck,这会导致 UI 模式未被正确启用。

  2. 缺少完整的 UI 初始化结构:Hamibot 的 UI 脚本需要将 ui.layout 的定义放在 ui 对象初始化的上下文中,并确保语法格式正确。

以下是修改后的修复版本代码:

// @ts-nocheck
'ui';

// 等待开启无障碍权限
auto.waitFor();

// 获取脚本配置
const { SHOW_CONSOLE } = hamibot.env

// 显示控制台
if (SHOW_CONSOLE) {
    // 修改控制台位置
    console.setPosition(0, 100);
    // 修改控制台大小
    console.setSize(device.width / 2, device.height / 3)
    // 显示控制台
    console.show()
    sleep(30000)
}

// 定义 UI 布局
ui.layout(
  <vertical>
    <button text="第一个按钮" />
    <button text="第二个按钮" />
  </vertical>
);

注意事项:

  • 保证 'ui'; 在脚本的第一行,无任何前置内容。
  • 确保布局 XML 的写法是完整的,没有语法错误。
  • 不要忘记启动无障碍服务,并授予 Hamibot 相关权限。

这样修改后,两个按钮应该可以正常显示出来。

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