Arquivos necessários
| Arquivo | Onde fica | Função |
|---|---|---|
splash.html |
src/assets/splash/splash.html |
HTML original da animação. Deve ser usado como base para o conteúdo da WebView. |
logo_g10.png |
src/assets/splash/logo_g10.png |
Imagem usada dentro do HTML. Recomendado converter para base64 ou embutir no HTML. |
SplashAnimated.tsx |
src/components/SplashAnimated.tsx |
Componente React Native responsável por exibir o HTML dentro da WebView. |
App.tsx ou layout inicial |
Raiz do app ou estrutura de rotas | Controla quando a splash aparece e quando o app entra no fluxo normal. |
app.json |
Raiz do projeto Expo | Configura a splash nativa estática para evitar tela branca no carregamento inicial. |
Ajuste importante no splash.html
No HTML original, a logo é carregada com:
<img class="logo-img" id="logoImg" src="logo_g10.png" alt="Regenera Citrus G10" />
Dentro da WebView, esse caminho pode falhar dependendo de como os assets forem empacotados. Para evitar problema, existem duas opções:
Para reduzir risco, usar base64 é a forma mais segura para esta splash, pois a animação fica autocontida dentro do HTML.
Resumo para implementação
- Instalar
react-native-webview. - Adicionar
splash.htmlaos assets do app. - Converter
logo_g10.pngpara base64 ou garantir caminho local funcionando. - Criar
SplashAnimated.tsx. - Configurar a splash nativa no
app.json. - Exibir
SplashAnimatedantes das rotas principais. - Após 4 segundos, chamar
onFinish()e liberar o app. - Testar offline e em Android real.
Regra principal: a splash deve funcionar 100% local, sem depender de internet.