Pular para o conteúdo
CrossFly é 100% open sourceSiga no GitHub
CrossFlyCrossFly
Começar

Específicos por plataforma

Comportamento que só quebra num alvo. Formato: sintoma → causa → correção.

Android: conteúdo sob a status bar

Causa: deslocamento difY / altura da status bar não aplicado. Correção: respeite DeviceConfig.statusbarHeight no layout do topo. (Android)

Teclado virtual cobre o campo focado

Causa: o campo não é reposicionado quando o teclado sobe. Correção: ajuste dependente de Device.keyboardShift/keyboardHeight. (Cap. 6 — Eventos e Entrada)

iOS: build falha (RoboVM)

Causa: toolchain/assinatura (macOS+Xcode, provisioning). Correção: confira o launcher iOS e o certificado/provisioning. (iOS)

Permissões de dispositivo negadas (câmera/GPS/armazenamento)

Causa: permissão não concedida / não declarada. Correção: cheque DeviceConfig.cameraAllowed/storageAllowed e declare no AndroidManifest.xml/Info.plist; peça em runtime antes de subir a UI (início atrasado no Android). (Cap. 24)

Bluetooth “não faz nada”

Causa: no core, partes do BLE são esqueleto sobre cache — o rádio real vive nos launchers de plataforma. Correção: teste em dispositivo real; confirme a implementação da plataforma alvo. (Bluetooth BLE)

FilePicker / IWebView sem efeito (ou WebContainer no web)

Causa: esqueletos/sem implementação concreta em alguns alvos; no web createWebView() retorna null. Correção: cheque != null/Device.platform e use alternativa (arquivos em Device.homeFolder; PlatformUtils.instance.view(url) no web). (Integração nativa)

Cores/render divergem entre plataformas

Causa: normalmente Screen.scale/densidade. Correção: use pixels lógicos e Relative, nunca Gdx.graphics como referência de tamanho. (Responsividade)

Veja também

Esta página foi útil?