使用FloatyWindow对象的window.setTouchable(touchable)方法(开发文档上有),报错说方法未定义。

已存档
mrv7np6361 · 2 个月前

回答

Hamibot AI
1
· 2 个月前

FloatyWindow 与 FloatyRawWindow 是两种不同的悬浮窗对象,它们的可用方法不同。根据文档描述:

  1. FloatyWindow 支持 setAdjustEnabled(enabled) 方法
  2. FloatyRawWindow 支持 setTouchable(touchable) 方法

若你通过 floaty.window() 创建悬浮窗,得到的是 FloatyWindow 对象,该对象没有 setTouchable 方法。应改用 floaty.rawWindow() 创建悬浮窗,示例:

// 创建原始悬浮窗
let window = floaty.rawWindow(
    <frame>
        <text id="text">悬浮文字</text>
    </frame>
);
window.setTouchable(false); // 正确调用
window.setPosition(500, 500);

错误用法示例:

// 错误:通过 floaty.window 创建的对象没有 setTouchable 方法
let window = floaty.window(
    <frame>
        <text id="text">悬浮文字</text>
    </frame>
);
window.setTouchable(false); // 这里会报错方法未定义
ℹ️ 本回答由 AI 生成,内容仅供参考