Avviso popup
Articolo 05/17/2024
6 contributori
Commenti e suggerimenti
In questo articolo
Toast
è un avviso a tempo visualizzato nella parte inferiore della schermata. Viene chiusa automaticamente dopo un periodo di tempo configurabile.
Fornisce un semplice feedback all'utente su un'operazione in un piccolo avviso.
Per accedere alla Toast
funzionalità, è necessaria la configurazione specifica della piattaforma seguente.
Non è necessaria alcuna configurazione.
Non è necessaria alcuna configurazione.
Quando si usa Snackbar
è essenziale eseguire i due passaggi seguenti:
1. Abilitare l'utilizzo dello snackbar con MauiAppBuilder
Quando si usa il UseMauiCommunityToolkit
parametro per abilitare l'utilizzo options
dello snackbar in Windows, come indicato di seguito:
var builder = MauiApp.CreateBuilder()
.UseMauiCommunityToolkit(options =>
{
options.SetShouldEnableSnackbarOnWindows(true);
})
Il codice precedente registrerà automaticamente i gestori necessari configurando gli eventi del ciclo di vita (OnLaunched
e OnClosed
).
2. Includi registrazioni ToastNotification nel file Package.appxmanifest
Per gestire le azioni snackbar è necessario modificare il Platform\Windows\Package.appxmanifest
file come segue:
Nel tag di apertura <Package>
di Package.appxmanifest aggiungere gli spazi dei nomi XML seguenti:
xmlns:com="http://schemas.microsoft.com/appx/manifest/com/windows10"
xmlns:desktop="http://schemas.microsoft.com/appx/manifest/desktop/windows10"
In Package.appxmanifest , anche nel tag di apertura<Package>
, aggiornare IgnorableNamespaces
in modo da includerecom
uap
rescap
e :desktop
IgnorableNamespaces="uap rescap com desktop"
Esempio: Tag completato <Package>
Di seguito è riportato un esempio di tag di apertura <Package>
completato che ha aggiunto il supporto per 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">
In Package.appxmanifest , all'interno di ogni <Application>
tag, aggiungere le estensioni seguenti:
<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>
Esempio: Tag completato <Applications>
Di seguito è riportato un esempio di tag completato <Applications>
che ora ha aggiunto il supporto per 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>
Esempio: File aggiornato Package.appxmanifest
al supporto Snackbar
Di seguito è riportato un file di esempio Package.appxmanifest
che è stato aggiornato per il supporto Snackbar
in 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>
Per altre informazioni sulla gestione dell'attivazione: Inviare una notifica di tipo avviso popup locale dalle app C#
Non è necessaria alcuna configurazione.
Sintassi
C#
Per visualizzare Toast
, prima di tutto crearlo usando il metodo Toast.Make()
statico , quindi visualizzarlo usando il relativo metodo 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);
Quando si chiama Toast.Make()
, è necessario il relativo parametro string text
. Tutti gli altri parametri sono facoltativi. Il parametro ToastDuration duration
facoltativo usa la durata predefinita di ToastDuration.Short
. Il parametro double fontSize
facoltativo usa il valore predefinito di 14.0
.
Lo screenshot seguente mostra l'avviso popup risultante:
Proprietà
Proprietà
Type
Descrizione
Default value
Testo
string
Testo visualizzato in Toast
.
Obbligatorio
Durata
ToastDuration
Durata Toast
visualizzata.
ToastDuration.Short
Textsize
double
Dimensioni del carattere del testo.
14.0
ToastDuration
L'enumerazione ToastDuration
definisce i membri seguenti:
Short
- Visualizzazione Toast
per 2 secondi
Long
- Visualizzazione Toast
per 3,5 secondi
Questi valori rispettano le costanti definite nell'APIandroid.widget.Toast
.
Metodi
metodo
Descrizione
Mostra
Visualizzare l'oggetto richiesto Toast
. Se un oggetto Toast
è attualmente visualizzato, verrà ignorato automaticamente prima che venga visualizzato l'oggetto richiesto Toast
.
Ignora
Ignorare l'avviso popup corrente.
Nota
È possibile visualizzare solo una Toast
alla volta. Se si chiama il Show
metodo una seconda volta, il primo Toast
verrà ignorato automaticamente.
Esempi
È possibile trovare un esempio di questa funzionalità in azione nell'applicazione di esempio .NET MAUI Community Toolkit.
API
È possibile trovare il codice sorgente per Toast
over nel repository GitHub di .NET MAUI Community Toolkit.
L'API consente di eseguire l'override dei metodi esistenti con la propria implementazione o di creare un avviso popup personalizzato implementando l'interfaccia IToast
.
L'avviso popup viene implementato in Android, creato da Google. Altre piattaforme usano un contenitore implementato personalizzato (UIView
per iOS e MacCatalyst, ToastNotification
in Windows).
L'avviso popup in Tizen non può essere personalizzato con le relative Duration
proprietà e TextSize
.