Donc, j'ai presque fini mon application Android en utilisant Flutter, et maintenant je viens de créer les icônes en utilisant les outils du studio Android (clic droit sur le dossier "res" -> nouveau -> image…). Jusqu'à présent, tout va bien, mais maintenant j'ai du mal à essayer de comprendre comment mettre l'icône de l'application dans l'écran de chargement. Ce que j'ai fait jusqu'à présent, c'est:
Créer un styles.xml sous res / values:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" android:gravity="center">
<item android:drawable="@android:color/holo_green_light" />
<item>
<bitmap android:src="@mipmap/ic_launcher" />
</item>
</layer-list>
Créer un launch_background.xml dans res / drawable:
XXX
mais l'élément @ mipmap / ic_launcher n'est pas résolu ... Je ne sais pas comment le spécifier correctement!
Dans AndroidManifest. xml J'ai défini le thème comme android: theme = "@ style / LaunchTheme" et l'icône comme android: icon = "@ mipmap / ic_launcher" ... et puisque l'icône est correctement utilisée par l'application une fois installée, je ne comprends pas pourquoi dans le manisfest est résolu et dans l'autre fichier n'est pas ... ce que je suis censé faire?
3 Réponses :
Vous pouvez utiliser un package de dépendances de développement: https://pub.dev/packages/flutter_native_splash
Ajoutez sur pubspeck.yaml
flutter_native_splash: image: 'assets/ic_launcher.png' color: "#36133d"
déclarez votre lanceur d'icônes et la couleur
dev_dependencies: flutter_native_splash: ^0.1.9
et les exécuter:
flutter pub get flutter pub run flutter_native_splash: créer J'aime la simplicité de la réponse d'Eric. De plus, il existe une documentation complète sur le site Web flutter.dev sur la façon de procéder sans le paquet supplémentaire.
https://flutter.dev/docs/development / ui / splash-screen / android-splash-screen
Donc, après plusieurs tentatives, j'ai résolu en utilisant les configurations suivantes:
styles.xml :
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" android:gravity="center">
<item android:drawable="@color/white" />
<item
android:width="400px"
android:height="400px"
android:drawable="@mipmap/ic_launcher"
android:gravity="center" />
</layer-list>
launch_background.xml :
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="LaunchTheme" parent="@android:style/Theme.Light.NoTitleBar">
<item name="android:windowBackground">@drawable/launch_background</item>
</style>
<color name="white">#FFFFFF</color>
</resources>
La différence pertinente est que j'utilise maintenant un dessinable pour le logo au lieu d'un bitmap. Actuellement, il fonctionne parfaitement en mode release ( flutter clean && flutter run --release ), même si en mode débogage un écran noir est visible pendant quelques millisecondes avant que le widget Flutter principal ne soit réellement rendu. p>