Toast
Článek 05/17/2024
Přispěvatelé: 6
Váš názor
V tomto článku
Toast
je časovaná výstraha, která se zobrazí v dolní části obrazovky. Po konfigurovatelné době se automaticky zavře.
Poskytuje uživateli jednoduchou zpětnou vazbu o operaci v malém upozornění.
Pro přístup k funkcím Toast
se vyžaduje následující nastavení specifické pro platformu.
Není vyžadováno žádné nastavení.
Není vyžadováno žádné nastavení.
Při použití Snackbar
je nezbytné provést následující dva kroky:
1. Povolení použití snackbaru s MauiAppBuilder
Při použití UseMauiCommunityToolkit
parametru options
k povolení použití snackbaru ve Windows následujícím způsobem:
var builder = MauiApp.CreateBuilder()
.UseMauiCommunityToolkit(options =>
{
options.SetShouldEnableSnackbarOnWindows(true);
})
Výše uvedené rutiny automaticky zaregistrují konfigurací událostí životního cyklu (OnLaunched
a OnClosed
).
2. Zahrnutí registrací toastNotification do souboru Package.appxmanifest
Pokud chcete zpracovat akce snackbaru, budete muset soubor upravit Platform\Windows\Package.appxmanifest
následujícím způsobem:
V souboru Package.appxmanifest přidejte do počáteční <Package>
značky následující obory názvů XML:
xmlns:com="http://schemas.microsoft.com/appx/manifest/com/windows10"
xmlns:desktop="http://schemas.microsoft.com/appx/manifest/desktop/windows10"
V souboru Package.appxmanifest , také v počáteční <Package>
značce, aktualizujte IgnorableNamespaces
na zahrnutícom
uap
rescap
adesktop
:
IgnorableNamespaces="uap rescap com desktop"
Příklad: Dokončená <Package>
značka
Tady je příklad dokončené počáteční <Package>
značky, která přidala podporu pro 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">
V souboru Package.appxmanifest přidejte do každé <Application>
značky následující rozšíření:
<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>
Příklad: Dokončená <Applications>
značka
Tady je příklad dokončené <Applications>
značky, která teď přidala podporu pro 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>
Příklad: Aktualizovaný Package.appxmanifest
soubor pro podporu Snackbar
Níže je příklad Package.appxmanifest
souboru, který byl aktualizován tak, aby podporoval ve Snackbar
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>
Další informace o zpracování aktivace: Odeslání místního informačního oznámení z aplikací jazyka C#
Není vyžadováno žádné nastavení.
Syntaxe
C#
Chcete-li zobrazit Toast
, nejprve jej vytvořte pomocí statické metody Toast.Make()
a pak ji zobrazte pomocí své 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);
Při volání Toast.Make()
se vyžaduje jeho parametr string text
. Všechny ostatní parametry jsou volitelné. Volitelný parametr ToastDuration duration
používá výchozí dobu trvání ToastDuration.Short
. Jeho volitelný parametr double fontSize
používá výchozí hodnotu 14.0
.
Následující snímek obrazovky ukazuje výsledný informační zpráva:
Vlastnosti
Vlastnost
Type
Popis
Default value
Text
string
Text zobrazený v souboru Toast
.
Povinní účastníci
Doba trvání
ToastDuration
Zobrazí se doba trvání Toast
.
ToastDuration.Short
Velikost textu
double
Velikost písma textu
14.0
ToastDuration
Výčet ToastDuration
definuje následující členy:
Short
- Zobrazení Toast
po dobu 2 sekund
Long
- Zobrazení Toast
po dobu 3,5 sekund
Tyto hodnoty odpovídají konstantám definovaným v android.widget.Toast
rozhraní API .
Metody
metoda
Popis
Zobrazit
Zobrazí požadovanou .Toast
Toast
Pokud se aktuálně zobrazuje, automaticky se zavře před zobrazením žádostiToast
.
Zrušit
Zavřete aktuální informační zpráva.
Poznámka:
Můžete zobrazit jenom jeden Toast
po druhém. Pokud metodu Show
zavoláte podruhé, první Toast
se automaticky zavře.
Příklady
Příklad této funkce najdete v ukázkové aplikaci .NET MAUI Community Toolkit.
rozhraní API
Zdrojový kód Toast
najdete v úložišti .NET MAUI Community Toolkit na GitHubu .
Rozhraní API umožňuje přepsat existující metody vlastní implementací nebo vytvořením vlastní informační cesty implementací IToast
rozhraní.
Informační zpráva je implementována v Androidu vytvořeném Googlem. Jiné platformy používají vlastní implementovaný kontejner (UIView
pro iOS a MacCatalyst, ToastNotification
ve Windows).
Informační zpráva na Tizenu nelze přizpůsobit pomocí svých Duration
vlastností a TextSize
vlastností.