Toast
Article 05/21/2024
6 contributeurs
Commentaires
Dans cet article
Toast
est une alerte périodique qui s’affiche au bas de l’écran. Elle disparaît automatiquement au bout d’un certain temps configurable.
Elle fournit des commentaires simples à l’utilisateur sur une opération dans une petite alerte.
Pour accéder à la fonctionnalité Toast
, vous devez appliquer la configuration spécifique à la plateforme suivante.
Aucune configuration n’est requise.
Aucune configuration n’est requise.
Lorsque vous utilisez Snackbar
, il est essentiel d’effectuer les deux étapes suivantes :
1. Activer l’utilisation de Snackbar avec MauiAppBuilder
Lorsque vous utilisez le UseMauiCommunityToolkit
, utilisez le paramètre options
pour activer l’utilisation de Snackbar sur Windows comme suit :
var builder = MauiApp.CreateBuilder()
.UseMauiCommunityToolkit(options =>
{
options.SetShouldEnableSnackbarOnWindows(true);
})
Le code ci-dessus inscrit automatiquement les gestionnaires requis en configurant les événements de cycle de vie (OnLaunched
et OnClosed
).
2. Inclure les inscriptions ToastNotification dans votre fichier Package.appxmanifest
Pour gérer les actions de Snackbar, vous devez modifier le fichier Platform\Windows\Package.appxmanifest
comme suit :
Dans Package.appxmanifest , dans la balise <Package>
d’ouverture, ajoutez les espaces de noms XML suivants :
xmlns:com="http://schemas.microsoft.com/appx/manifest/com/windows10"
xmlns:desktop="http://schemas.microsoft.com/appx/manifest/desktop/windows10"
Dans Package.appxmanifest , toujours dans la balise d’ouverture <Package>
, mettez à jour IgnorableNamespaces
pour inclure uap
rescap
com
et desktop
:
IgnorableNamespaces="uap rescap com desktop"
Exemple : balise <Package>
terminée
Voici un exemple de balise d’ouverture <Package>
terminée qui prend en charge Snackbar
:
<Package
xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10"
xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10"
xmlns:rescap="http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities"
xmlns:com="http://schemas.microsoft.com/appx/manifest/com/windows10"
xmlns:desktop="http://schemas.microsoft.com/appx/manifest/desktop/windows10"
IgnorableNamespaces="uap rescap com desktop">
Dans Package.appxmanifest , à l’intérieur de chaque balise <Application>
, ajoutez les extensions suivantes :
<Extensions>
<!-- Specify which CLSID to activate when notification is clicked -->
<desktop:Extension Category="windows.toastNotificationActivation">
<desktop:ToastNotificationActivation ToastActivatorCLSID="6e919706-2634-4d97-a93c-2213b2acc334" />
</desktop:Extension>
<!-- Register COM CLSID -->
<com:Extension Category="windows.comServer">
<com:ComServer>
<com:ExeServer Executable="YOUR-PATH-TO-EXECUTABLE" DisplayName="$targetnametoken$" Arguments="----AppNotificationActivated:"> <!-- Example path to executable: CommunityToolkit.Maui.Sample\CommunityToolkit.Maui.Sample.exe -->
<com:Class Id="6e919706-2634-4d97-a93c-2213b2acc334" />
</com:ExeServer>
</com:ComServer>
</com:Extension>
</Extensions>
Exemple : balise <Applications>
terminée
Voici un exemple de balise <Applications>
terminée qui prend désormais en charge Snackbar
:
<Applications>
<Application Id="App" Executable="$targetnametoken$.exe" EntryPoint="$targetentrypoint$">
<uap:VisualElements
DisplayName="$placeholder$"
Description="$placeholder$"
Square150x150Logo="$placeholder$.png"
Square44x44Logo="$placeholder$.png"
BackgroundColor="transparent">
<uap:DefaultTile Square71x71Logo="$placeholder$.png" Wide310x150Logo="$placeholder$.png" Square310x310Logo="$placeholder$.png" />
<uap:SplashScreen Image="$placeholder$.png" />
</uap:VisualElements>
<Extensions>
<desktop:Extension Category="windows.toastNotificationActivation">
<desktop:ToastNotificationActivation ToastActivatorCLSID="6e919706-2634-4d97-a93c-2213b2acc334" />
</desktop:Extension>
<com:Extension Category="windows.comServer">
<com:ComServer>
<com:ExeServer Executable="YOUR-PATH-TO-EXECUTABLE" DisplayName="$targetnametoken$" Arguments="----AppNotificationActivated:"> <!-- Example path to executable: CommunityToolkit.Maui.Sample\CommunityToolkit.Maui.Sample.exe -->
<com:Class Id="6e919706-2634-4d97-a93c-2213b2acc334" />
</com:ExeServer>
</com:ComServer>
</com:Extension>
</Extensions>
</Application>
</Applications>
Exemple : fichier Package.appxmanifest
mis à jour pour prendre en charge Snackbar
Voici un exemple de fichier Package.appxmanifest
mis à jour pour prendre en charge Snackbar
sur Windows :
<?xml version="1.0" encoding="utf-8"?>
<Package
xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10"
xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10"
xmlns:rescap="http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities"
xmlns:com="http://schemas.microsoft.com/appx/manifest/com/windows10"
xmlns:desktop="http://schemas.microsoft.com/appx/manifest/desktop/windows10"
IgnorableNamespaces="uap rescap com desktop">
<Identity Name="maui-package-name-placeholder" Publisher="CN=Microsoft" Version="0.0.0.0" />
<Properties>
<DisplayName>$placeholder$</DisplayName>
<PublisherDisplayName>Microsoft</PublisherDisplayName>
<Logo>$placeholder$.png</Logo>
</Properties>
<Dependencies>
<TargetDeviceFamily Name="Windows.Universal" MinVersion="10.0.17763.0" MaxVersionTested="10.0.19041.0" />
<TargetDeviceFamily Name="Windows.Desktop" MinVersion="10.0.17763.0" MaxVersionTested="10.0.19041.0" />
</Dependencies>
<Resources>
<Resource Language="x-generate" />
</Resources>
<Applications>
<Application Id="App" Executable="$targetnametoken$.exe" EntryPoint="$targetentrypoint$">
<uap:VisualElements
DisplayName="$placeholder$"
Description="$placeholder$"
Square150x150Logo="$placeholder$.png"
Square44x44Logo="$placeholder$.png"
BackgroundColor="transparent">
<uap:DefaultTile Square71x71Logo="$placeholder$.png" Wide310x150Logo="$placeholder$.png" Square310x310Logo="$placeholder$.png" />
<uap:SplashScreen Image="$placeholder$.png" />
</uap:VisualElements>
<Extensions>
<desktop:Extension Category="windows.toastNotificationActivation">
<desktop:ToastNotificationActivation ToastActivatorCLSID="6e919706-2634-4d97-a93c-2213b2acc334" />
</desktop:Extension>
<com:Extension Category="windows.comServer">
<com:ComServer>
<com:ExeServer Executable="YOUR-PATH-TO-EXECUTABLE" DisplayName="$targetnametoken$" Arguments="----AppNotificationActivated:"> <!-- Example path to executable: CommunityToolkit.Maui.Sample\CommunityToolkit.Maui.Sample.exe -->
<com:Class Id="6e919706-2634-4d97-a93c-2213b2acc334" />
</com:ExeServer>
</com:ComServer>
</com:Extension>
</Extensions>
</Application>
</Applications>
<Capabilities>
<rescap:Capability Name="runFullTrust" />
</Capabilities>
</Package>
Pour plus d’informations sur la gestion de l’activation, consultez Envoyer une notification toast locale à partir d’applications C# .
Aucune configuration n’est requise.
Syntaxe
C#
Pour afficher Toast
, commencez par le créer à l’aide de la méthode statique Toast.Make()
, puis affichez-le à l’aide de sa méthode Show()
.
using CommunityToolkit.Maui.Alerts;
CancellationTokenSource cancellationTokenSource = new CancellationTokenSource();
string text = "This is a Toast";
ToastDuration duration = ToastDuration.Short;
double fontSize = 14;
var toast = Toast.Make(text, duration, fontSize);
await toast.Show(cancellationTokenSource.Token);
Lors de l’appel de Toast.Make()
, son paramètre string text
est requis. Tous les autres paramètres sont facultatifs. Son paramètre facultatif ToastDuration duration
utilise la durée par défaut de ToastDuration.Short
. Son paramètre facultatif double fontSize
utilise la valeur par défaut de 14.0
.
La capture d’écran suivante montre le Toast obtenu :
Propriétés
Propriété
Type
Description
Valeur par défaut
Détails
string
Texte affiché dans le Toast
.
Obligatoire
Durée
ToastDuration
Durée Toast
affichée.
ToastDuration.Short
TextSize
double
Taille de police du texte.
14.0
ToastDuration
L’énumération ToastDuration
définit les membres suivants :
Short
– Afficher Toast
pendant 2 secondes
Long
– Afficher Toast
pendant 3,5 secondes
Ces valeurs respectent les constantes définies dans l’API android.widget.Toast
.
Méthodes
méthode
Description
Afficher
Affichez le Toast
demandé. Si un Toast
est actuellement affiché, il est automatiquement ignoré avant l’affichage du Toast
demandé.
Ignorer
Ignorer la notification Toast actuelle.
Remarque
Vous ne pouvez afficher qu’un seul Toast
à la fois. Si vous appelez la méthode Show
une deuxième fois, le premier Toast
est automatiquement ignoré.
Exemples
Vous trouverez un exemple d’utilisation de cette fonctionnalité dans l’exemple d’application du toolkit de la communauté .NET MAUI .
API
Vous pouvez trouver le code source deToast
sur le référentiel du kit de ressources de la communauté .NET MAUI sur GitHub .
L’API permet de remplacer les méthodes existantes par votre propre implémentation ou de créer votre propre toast, en implémentant l’interface IToast
.
Toast est implémenté sur Android, créé par Google. D’autres plateformes utilisent un conteneur implémenté personnalisé (UIView
pour iOS et MacCatalyst, ToastNotification
sur Windows).
Toast sur Tizen ne peut pas être personnalisé avec ses propriétés Duration
et TextSize
.