Toast
to alert o czasie wyświetlany w dolnej części ekranu. Jest on automatycznie odrzucany po konfigurowalnym czasie.
Udostępnia on użytkownikowi prostą opinię na temat operacji w małym alercie.
Aby uzyskać dostęp do Toast
funkcji, wymagana jest następująca konfiguracja specyficzna dla platformy.
Nie jest wymagana żadna konfiguracja.
Nie jest wymagana żadna konfiguracja.
W przypadku korzystania z Snackbar
niego niezbędne jest wykonanie następujących dwóch kroków:
1. Włącz użycie paska przekąskowego za pomocą programu MauiAppBuilder
W przypadku korzystania z UseMauiCommunityToolkit
parametru options
w celu włączenia użycia paska przekąskowego w systemie Windows w następujący sposób:
var builder = MauiApp.CreateBuilder()
.UseMauiCommunityToolkit(options =>
{
options.SetShouldEnableSnackbarOnWindows(true);
})
Powyższe polecenie spowoduje automatyczne zarejestrowanie wymaganych procedur obsługi przez skonfigurowanie zdarzeń cyklu życia (OnLaunched
i OnClosed
).
2. Uwzględnij rejestracje ToastNotification w pliku Package.appxmanifest
Aby obsłużyć akcje paska przekąskowego, należy zmodyfikować Platform\Windows\Package.appxmanifest
plik w następujący sposób:
- W pliku Package.appxmanifest w tagu otwierającym
<Package>
dodaj następujące przestrzenie nazw XML:
xmlns:com="http://schemas.microsoft.com/appx/manifest/com/windows10"
xmlns:desktop="http://schemas.microsoft.com/appx/manifest/desktop/windows10"
- W pliku Package.appxmanifest, również w tagu otwierającym
<Package>
, zaktualizuj IgnorableNamespaces
element w celu uwzględnieniacom
uap
rescap
i desktop
:
IgnorableNamespaces="uap rescap com desktop"
Przykład: ukończony <Package>
tag
Oto przykład ukończonego tagu otwierania <Package>
, który dodał obsługę elementu 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">
- W pliku Package.appxmanifest wewnątrz każdego
<Application>
tagu dodaj następujące rozszerzenia:
<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>
Przykład: ukończony <Applications>
tag
Oto przykład ukończonego <Applications>
tagu, który teraz dodał obsługę elementu 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>
Przykład: zaktualizowany Package.appxmanifest
plik do obsługi Snackbar
Poniżej znajduje się przykładowy Package.appxmanifest
plik, który został zaktualizowany do obsługi Snackbar
w systemie 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>
Aby uzyskać więcej informacji na temat obsługi aktywacji: Wysyłanie powiadomienia wyskakujące lokalnego z aplikacji języka C#
Nie jest wymagana żadna konfiguracja.
Składnia
C#
Aby wyświetlić Toast
metodę , najpierw utwórz ją przy użyciu metody Toast.Make()
statycznej , a następnie wyświetl ją przy użyciu metody 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);
Podczas wywoływania Toast.Make()
parametru string text
parametr jest wymagany. Wszystkie inne parametry są opcjonalne. Jego opcjonalny parametr ToastDuration duration
używa domyślnego ToastDuration.Short
czasu trwania . Jego opcjonalny parametr double fontSize
używa wartości domyślnej 14.0
.
Poniższy zrzut ekranu przedstawia wynikowy wyskakujące wyskakujące elementy:
Właściwości
Właściwości |
Type |
Opis |
Domyślna wartość |
Text |
string |
Tekst wyświetlany w pliku Toast . |
Wymagane |
Czas trwania |
ToastDuration |
Wyświetlany czas trwania Toast . |
ToastDuration.Short |
Textsize |
double |
Rozmiar czcionki tekstowej. |
14.0 |
ToastDuration
Wyliczenie ToastDuration
definiuje następujące elementy członkowskie:
Short
- Wyświetlanie Toast
przez 2 sekundy
Long
- Wyświetlanie Toast
przez 3,5 sekundy
Te wartości są zgodne z stałymi zdefiniowanymi w interfejsie android.widget.Toast
API.
Metody
Metoda |
opis |
Pokaż |
Wyświetl żądany element Toast . Toast Jeśli element jest obecnie wyświetlany, zostanie on automatycznie odrzucony przed wyświetleniem żądanego Toast elementu. |
Odrzuć |
Odrzuć bieżący wyskakujące wyskakujące. |
Uwaga
Można wyświetlić tylko jeden Toast
naraz. Jeśli wywołasz metodę Show
po raz drugi, pierwsza Toast
zostanie automatycznie odrzucona.
Przykłady
Przykład tej funkcji można znaleźć w aplikacji przykładowej zestawu narzędzi .NET MAUI Community Toolkit.
interfejs API
Kod źródłowy można Toast
znaleźć w repozytorium GitHub zestawu narzędzi .NET MAUI Community Toolkit.
- Interfejs API umożliwia zastąpienie istniejących metod własną implementacją lub utworzenie własnego wyskakowania przez zaimplementowanie
IToast
interfejsu.
- Toast jest implementowany w systemie Android utworzonym przez firmę Google. Inne platformy używają niestandardowego kontenera (
UIView
dla systemów iOS i MacCatalyst w ToastNotification
systemie Windows).
- Toast na Tizen nie można dostosować za pomocą jego
Duration
właściwości i TextSize
.