J'ai remplacé toutes les images partout (j'entends par là les dossiers pouvant être dessinés, tous les dossiers Windows Assets et les ressources iOS), mais l'icône Xamarin par défaut de l'application est toujours affichée. J'ai aussi essayé ce code, mais il ne semble pas fonctionner non plus. Quelqu'un peut-il me dire la solution?
[Assembly: Application(Icon = "@drawable/icon")]
Pour Android, essayez de définir l'icône de l'application comme ceci:
[Activity(Icon = "@drawable/icon")]
public class MainActivity : global::Xamarin.Forms.Platform.Android.FormsApplicationActivity
{
.....
}
Assurez-vous que vous avez modifié toutes les images d'icônes sur tous les dossiers pouvant être dessinés (drawable, drawable-hdpi, drawable-xhdpi et drawable-xxhdpi).
Pour iOS, j'aime définir les icônes d'application et l'écran de démarrage avec Asset Catalogs. Vous trouverez ici un guide d'utilisation:
https://developer.xamarin.com/guides/ios/application_fundamentals/working_with_images/app-icons/
Essayez de remplacer toutes les icônes du projet iOS> Propriétés> Application iOS> Icônes Iphone/Icônes IPad . Je les modifie toutes. Des images pouvant être créées sur des ressources peuvent être créées en y insérant simplement des images.
png
dans les dossiers mipmap par votre nouvelle icôneobj
du répertoire du projet Android.Ce problème m'avait laissé perplexe pendant un moment et aucune des réponses que j'ai trouvées ne contenait la solution.
Xamarin Forms/Android place 2 icônes dans chaque dossier mipmap (mipmap-mdpi, mipmap-hdpi, mipmap-xhdpi, etc.) - icon.png
et launcher-foreground.png
.
Remplacez ces deux images dans chacun des dossiers du mipmap. J'ai gardé les mêmes noms mais il devrait être possible d'utiliser un nom différent.
J'ai nettoyé et reconstruit la solution plusieurs fois. Cependant, l'application était toujours en cours de déploiement avec les icônes par défaut.
Il s'est avéré que les icônes d'origine/par défaut existaient toujours dans le dossier du projet Android obj
, même après nettoyage et reconstruction à plusieurs reprises.
Supprimez le dossier obj
du projet Android et générez la solution. Cela a déployé avec succès l'application avec la nouvelle icône.
Si vous avez changé le nom de l'icône, assurez-vous de mettre à jour la référence sur MainActivity.cs
[Activity(Label = "MyName", Icon = "@mipmap/myicon", Theme = "@style/MainTheme"]
public class MainActivity : global::Xamarin.Forms.Platform.Android.FormsAppCompatActivity
Vous devrez peut-être également mettre à jour la référence à launcher_foreground
dans icon.xml
et à icon_round.xml
dans le dossier mipmap-anydpi
.
Si vous remplacez Icon.png et que rien n'a encore été modifié sur le périphérique, remplacez la propriété "Copier dans le répertoire de sortie" par "Copier si nouveau" ou "Copier toujours" ..___. C'était ma solution.
J'ai testé cela aujourd'hui et remarqué que vous n'aviez besoin que de changer les images des icônes dans tous les dossiers pouvant être dessinés,
drawable,
drawable-hdpi,
drawable-xhdpi
drawable-xxhdpi.
Selon le périphérique, il utilisera des images différentes. Pour moi, j'ai utilisé "Visual Studio Android Emulator" en utilisant:
- 5" KitKat(4,4) XXHDPI Phone (Android 4,4 - API 19)
N'a pas eu besoin de désinstaller et de réinstaller l'application dans l'émulateur, elle s'est mise à jour toute seule après avoir démarré le projet avec "build" cochée dans le menu Build/Configuration manager.
En plus de cela, aucun changement de code n'a été effectué!