Problemas de renderização
A tela não reflete o que o código fez. Formato: sintoma → causa → correção.
“Mudei um valor e a tela não atualiza”
Causa: render é sob demanda — o CrossFly só redesenha quando solicitado.
Correção: chame Component.repaint(); se mudou tamanho/posição “por fora”, também
setValidLayout(false) (a maioria dos setters do framework já faz isso; o que você muda manualmente,
não). (Cap. 4 §4.6)
Cor definida some / componente fica invisível
Causa: cor é int ARGB 0xAARRGGBB e você usou 0xRRGGBB (alpha 0).
Correção: prefixe 0xFF….
// 0x2196F3 → invisível (alpha 00)
// 0xFF2196F3 → azul opaco
(Cap. 11 — Cores)
Layout não recalcula após trocar filhos
Causa: faltou invalidar o layout.
Correção: container.setValidLayout(false); + Component.repaint();.
UI engasga / serrilha em device antigo
Causa: GPU fraca.
Correção: cheque Screen.slowGPU e reduza sombras/gradientes/efeito glass nesse caso.
(Cap. 8 — Rendering)
Tema trocou, mas componentes antigos não
Causa: o cache de estilo se re-resolve por styleVersion (as cores PalColor re-resolvem no
próximo frame) — normalmente automático ao setColorScheme/setDarkMode.
Correção: se algo não acompanhou, force restyle() na janela ou Component.repaint().
(Modo claro/escuro)
Veja também
- Erros de runtime · Conceito: O pipeline de renderização