web-dev-qa-db-fra.com

Comment changer l'icône de l'application dans Xamarin.Forms?

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")]
16
Szandi

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/

13
Victor Madurga

Si je vous ai bien compris, pour projet iOS:

Propriétés-> Application iOS

 iOS Application

Pour Android:

Propriétés-> Manifest Android

 enter image description here

7
Yehor Hromadskyi

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.

2
UniSize

Résumé

  1. Remplacez les deux png dans les dossiers mipmap par votre nouvelle icône
  2. Si vous avez nettoyé et reconstruit le projet mais que vos nouvelles icônes ne se déploient toujours pas: Supprimez le dossier obj du répertoire du projet Android.

Détails

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.

 enter image description here

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. 

Solution Android

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.

Mise à jour du nom

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.

0
Haldo

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.

0
NITRO

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é!

0
Victor Eriksson