Pourquoi mon application Flutter affiche un écran blanc pendant quelques secondes au démarrage et comment résoudre ce problème?
Vous pouvez remplacer cet écran de démarrage dans le code spécifique à la plate-forme. Voir ici exemples de la façon de procéder.
Si vous voyez l'arrière-plan de la fenêtre noir de l'activité jusqu'à ce que Flutter affiche sa première image, ajoutez ceci sur votre AndroidManifest, entre <activité>. .. </ activité>
<meta-data
Android:name="io.flutter.embedding.Android.SplashScreenDrawable"
Android:resource="@drawable/launch_background"
/>
Android - Maintenant, vous pouvez changer
/ AndroidStudioProjects/vendowallet/Android/app/src/main/res/drawable/launch_background.xml
Quelque chose comme
<!-- You can insert your own image assets here -->
<item>
<bitmap
Android:gravity="center"
Android:src="@mipmap/ic_launcher" />
</item>
IOS
Modifiez le LaunchImage dans Assets.xcassets
Parmi les fichiers générés avec la commande flutter create. Un écran de démarrage est généré pour être affiché avant la première image lorsque le scintillement rend les widgets à l'écran. Vous pouvez le modifier pour afficher un écran de démarrage personnalisé de votre choix ou vous pouvez simplement le supprimer.
Dans le dossier Android, ouvrez le fichier AndroidManifest.xml.
Là, vous pouvez supprimer la balise métadonnées avec le nom d'attribut .. SplashScreenUntilFirstFrame dans l'activité nommée . MainActivity
Vous pouvez vérifier le dossier drawables et le fichier styles.xml pour modifier l'écran de démarrage si vous souhaitez le conserver.
Dans ces dossiers, il y a aussi des commentaires qui expliquent plus ..
Si le problème est avec un écran noir qui s'affiche au démarrage,
flutter config --no-enable-Android-embedding-v2
et assurez-vous que "enable-Android-embedding" est défini sur "false" en exécutant la commande
flutter config
C'est la solution la plus simple.
Je dirige le même problème. Même après avoir ajouté l'écran de démarrage, j'ai obtenu l'écran noir pour la première fois en chargeant l'application. Ma solution a été de changer la forme du canal de flottement stable en version bêta.
Pour changer le type de canal "flutter channel [channel you'll not]".
Après ce type "mise à niveau de flottement".
Voilà ce qui m'a aidé. J'espère que ça aide aussi quelqu'un.
J'ai trouvé la solution ici: https://github.com/flutter/flutter/issues/37155
Vous pouvez utiliser le package flutter_native_splash pour ajouter des écrans de démarrage natifs pour Android et iOS sans les modifications manuelles décrites dans d'autres réponses.
Le package effectue les modifications manuelles pour vous.
1 - Dépendez-en:
dev_dependencies:
flutter_native_splash: ^0.1.4
Et flutter pub get
2 - Configurez votre écran de démarrage sur pubspec.yaml
:
flutter_native_splash:
image: assets/images/splash.png
color: 42a5f5
3 - Exécutez le package
flutter pub pub run flutter_native_splash:create
Les écrans de démarrage sont maintenant générés.