Lorsque je crée une application avec la commande flutter create
, le logo flottant est utilisé en tant qu'icône d'application pour les deux plates-formes.
Si je veux changer l'icône de l'application, dois-je accéder aux répertoires des deux plates-formes et y remplacer des images?, Par répertoires des plates-formes, je veux dire myapp/ios/Runner/Assets.xcassets/AppIcon.appiconset
pour iOS et myapp/Android/app/src/main/res
pour Android.
Ou est-il possible de définir une image en tant que Flutter Asset et les icônes sont générées d'une manière ou d'une autre?.
Flutter Launcher Icons a été conçu pour permettre de générer rapidement des icônes de lanceur pour Android et iOS: https://pub.dartlang.org/packages/flutter_launcher_icons
J'espère ajouter une vidéo au GitHub README pour le démontrer.
Une vidéo montrant comment exécuter l'outil peut être trouvée ici .
Si quelqu'un veut suggérer des améliorations/signaler des bogues, veuillez ajoutez-le en tant que problème dans le projet GitHub .
Mise à jour: À partir du mercredi 24 janvier 2018, vous devriez pouvoir créer de nouvelles icônes sans remplacer les anciennes icônes de lanceur existantes dans votre projet Flutter.
Mise à jour 2: À partir de la version 0.4.0 (8 juin 2018), vous pouvez spécifier une image pour votre icône Android et une image distincte. pour votre icône iOS.
Mise à jour 3: À partir de la v0.5.2 (20 juin 2018), vous pouvez désormais ajouter des icônes de lanceur adaptatif pour l'application Android de votre Projet Flutter
Suivez les étapes simples:
flutter_launcher_icons
Plugin à pubspec.yaml
par exemple.
dev_dependencies:
flutter_test:
sdk: flutter
flutter_launcher_icons: "^0.6.1"
flutter_icons:
image_path: "icon/icon.png"
Android: true
ios: true
Préparez une icône d'application pour le chemin spécifié. e.g. icon/icon.png
Exécutez la commande sur le terminal pour créer des icônes d'application:
$ flutter pub get
$ flutter pub pub run flutter_launcher_icons:main
Pour vérifier toutes les options disponibles et définir différentes icônes pour Android et iOS, veuillez vous reporter à this
J'espère que cela aidera les autres.
J'avais quelques difficultés à utiliser et à comprendre le package flutter_launcher_icons . Cette réponse indique comment procéder si vous créez une application pour Android ou iOS de manière native. C'est assez rapide et facile une fois que vous l'avez fait plusieurs fois.
Les icônes de lanceur Android ont à la fois un calque de premier plan et un calque d’arrière-plan.
(image adaptée de documentation Android )
Le moyen le plus simple de créer des icônes de lanceur pour Android consiste à utiliser Asset Studio, qui est disponible directement dans Android Studio (désolé les utilisateurs de VSCode). Vous n'avez même pas à quitter votre projet Flutter.
Cliquez avec le bouton droit sur le dossier Android
dans l’esquisse de votre projet. Allez à Nouveau> Image Asset . Vous pouvez maintenant sélectionner une image pour créer votre icône de lanceur.
Remarque: J'utilise généralement une image
1024x1024
pixel mais vous ne devez certainement pas utiliser plus petit que512x512
. Si vous utilisez Gimp ou Inkscape, vous devez avoir deux calques, un pour le premier plan et un pour l’arrière-plan. L'image au premier plan doit comporter des zones transparentes permettant au calque d'arrière-plan de transparaître.
(clipart lion de ici )
Cela remplacera les icônes de lanceur actuelles. Vous pouvez trouver les icônes générées dans les dossiers mipmap
:
Si vous préférez créer les icônes de lanceur manuellement, voir cette réponse pour obtenir de l'aide.
Enfin, assurez-vous que le nom de l'icône du lanceur dans le Manifeste Android est identique à celui que vous avez appelé ci-dessus (ic_launcher
par défaut):
application Android:icon="@mipmap/ic_launcher"
Exécutez l'application dans l'émulateur pour confirmer que l'icône du lanceur a été créée avec succès.
J'avais toujours l'habitude de redimensionner individuellement mes icônes iOS à la main, mais si vous avez un Mac, il existe une application gratuite dans le Mac App Store appelée Icon Set Creator . Vous lui donnez une image (d'au moins 1024x1024
pixels) et elle créera toutes les tailles dont vous avez besoin (plus le fichier Contents.json
). Merci à cette réponse pour la suggestion.
les icônes iOS ne doivent avoir aucune transparence. Voir plus de directives ici .
Après avoir créé le jeu d'icônes, démarrez Xcode (en supposant que vous avez un Mac) et utilisez-le pour ouvrir le dossier ios
de votre projet Flutter. Ensuite, accédez à Runner> Assets.xcassets et supprimez l'élément AppIcon.
Après cela, cliquez avec le bouton droit de la souris et choisissez Importer ... . Choisissez le jeu d'icônes que vous venez de créer.
C'est ça. Confirmez que l'icône a été créée en exécutant l'application dans le simulateur.
Vous pouvez toujours créer toutes les images à la main. Dans votre projet Flutter, accédez à ios/Runner/Assets.xcassets/AppIcon.appiconset
.
Les tailles d'image dont vous avez besoin sont les tailles multipliées dans le nom du fichier. Par exemple, [email protected]
serait 29
fois 3
, c'est-à-dire 87
pixels carrés. Vous devez conserver les mêmes noms d'icônes ou éditer le fichier JSON.
Vous devez remplacer les fichiers d'icône Flutter par des images de votre choix. Ce site vous aidera à transformer votre png en icônes de lanceur de différentes tailles:
https://romannurik.github.io/AndroidAssetStudio/icons-launcher.html
J'ai toujours changé l'icône dans les répertoires que vous avez mentionnés. Je ne connais aucun mécanisme permettant au flutter de générer des icônes pour vous.
Je vous suggère d'utiliser ce site lié ci-dessous
Créateur d'icône d'application
Étape 1: téléchargez l'image,
Étape 2: apportez les modifications nécessaires et cliquez sur le téléchargement (ne changez pas le nom du fichier)
Étape 3: extraire le fichier zip téléchargé dans le dossier correspondant
Android/app/main/src/res
Le meilleur moyen est de changer les icônes de lanceur séparément pour iOS et Android.
Modifiez les icônes dans iOS et le module Android séparément. Le plugin produit des icônes de tailles différentes à partir de la même icône qui sont déformées.
Suivez ce lien: https://flutter.dev/docs/deployment/Android