Customiser (un peu) les fenêtres Dialog
Ajouté par Alexandre Journaux il y a plus de 2 ans
Avec Xamarin, pour afficher un message à l'utilisateur, il est possible d'écrire :
Application.Current.MainPage.DisplayAlert("Erreur Zones", "Impossible de charger les Zones", "OK");
C'est déjà pas mal. Par contre, on ne peut pas customiser ce message.
J'ai donc créé la classe MessageAndroid qui va permettre d'améliorer un peu cela :
- Créer des fenêtres Dialog avec une icone
- Appeler les messages Toast d'Android
Pour cela, il est nécessaire de:
- Récupérer les fichiers IMessage.cs et MessageIcon.cs
- Les copier dans votre programme principal (partie Services)
- Récupérer les icones valide.png , information.png , avertissement.png , erreur.png
- Les mettre dans votre programme Android dans Resources/drawable
- Copier le fichier MessageAndroid.cs
- Le mettre dans votre programme Android (partie Services)
Maintenant, tout est prêt à fonctionner. Pensez à ajouter la ligne ci-dessous dans le OnCreate de votre MainActivity
DependencyService.RegisterSingleton<IMessage>(new Services.MessageAndroid(this));
Pour l'utiliser, il suffit ensuite d'écrire
- pour un message de type Toast:
DependencyService.Get<IMessage>().LongAlert("L'enregistrement s'est bien passé");
- pour un message d'erreur:
DependencyService.Get<IMessage>().CustomAlert("Retour enregistrement", "L'enregistrement a échoué", "Fermer", MessageIcon.ERREUR);
- pour un message de validation:
DependencyService.Get<IMessage>().CustomAlert("Retour enregistrement", "L'enregistrement s'est bien passé", "Ok", MessageIcon.VALIDE);
valide.jpg (19,438 ko)
erreur.jpg (27,624 ko)