本页面由葡萄牙语机器翻译,可能存在错误。葡萄牙语版本为准。
平台特定问题
只在某个目标平台上出现的行为。格式:症状 → 原因 → 修复。
Android:内容被状态栏遮挡
原因: 没有应用状态栏的偏移 difY / 高度。
修复: 在顶部布局中考虑 DeviceConfig.statusbarHeight。
(Android)
虚拟键盘遮住了聚焦的字段
原因: 键盘弹起时字段没有重新定位。
修复: 根据 Device.keyboardShift/keyboardHeight 进行调整。
(第 6 章 —— 事件与输入)
iOS:构建失败(RoboVM)
原因: 工具链/签名(macOS+Xcode、provisioning)。 修复: 检查 iOS launcher 以及证书/provisioning。(iOS)
设备权限被拒绝(摄像头/GPS/存储)
原因: 权限未授予 / 未声明。
修复: 检查 DeviceConfig.cameraAllowed/storageAllowed,并在 AndroidManifest.xml/Info.plist 中声明;在启动 UI 之前于运行时请求权限(Android 上延迟启动)。
(第 24 章)
蓝牙“什么都不做”
原因: 在 core 中,BLE 的部分只是基于缓存的骨架——真正的射频运行在各平台的 launcher 中。 修复: 在真实设备上测试;确认目标平台的实现。 (Bluetooth BLE)
FilePicker / IWebView 没有效果(或 web 上的 WebContainer)
原因: 某些目标平台上只有骨架/没有具体实现;在 web 上 createWebView() 返回 null。
修复: 检查 != null/Device.platform 并使用替代方案(Device.homeFolder 中的文件;web 上使用 PlatformUtils.instance.view(url))。(原生集成)
各平台之间颜色/渲染有差异
原因: 通常是 Screen.scale/密度。
修复: 使用逻辑像素和 Relative,绝不要把 Gdx.graphics 当作尺寸参照。
(响应式)