Tost
Makale 05/17/2024
6 katılımcı
Geri Bildirim
Bu makalede
Toast
, ekranın en altında görüntülenen zamanlanmış bir uyarıdır. Yapılandırılabilir bir süre sonra otomatik olarak kapatılır.
Kullanıcıya küçük bir uyarıdaki bir işlem hakkında basit geri bildirim sağlar.
İşlevlere Toast
erişmek için aşağıdaki platforma özgü kurulum gereklidir.
Kullanırken Snackbar
aşağıdaki iki adımın gerçekleştirilmesi önemlidir:
1. MauiAppBuilder ile snackbar kullanımını etkinleştirin
Windows'ta UseMauiCommunityToolkit
snackbar kullanımını etkinleştirmek için parametresini kullanırken options
aşağıdaki gibi:
var builder = MauiApp.CreateBuilder()
.UseMauiCommunityToolkit(options =>
{
options.SetShouldEnableSnackbarOnWindows(true);
})
Yukarıdakiler, yaşam döngüsü olaylarını (OnLaunched
ve OnClosed
) yapılandırarak gerekli işleyicileri otomatik olarak kaydeder.
2. Package.appxmanifest dosyanıza ToastNotification kayıtlarını ekleyin
Snackbar eylemlerini işlemek için dosyayı aşağıdaki gibi değiştirmeniz Platform\Windows\Package.appxmanifest
gerekir:
Package.appxmanifest dosyasındaki açılış <Package>
etiketine aşağıdaki XML Ad Alanlarını ekleyin:
xmlns:com="http://schemas.microsoft.com/appx/manifest/com/windows10"
xmlns:desktop="http://schemas.microsoft.com/appx/manifest/desktop/windows10"
Package.appxmanifest dosyasında, açılış <Package>
etiketinde ve desktop
içerecek uap
rescap
com
şekilde güncelleştirinIgnorableNamespaces
:
IgnorableNamespaces="uap rescap com desktop"
Örnek: Tamamlandı <Package>
Etiketi
Aşağıda için destek Snackbar
eklenmiş tamamlanmış bir açma <Package>
etiketi örneği verilmiştir:
<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">
Package.appxmanifest'te her <Application>
etiketin içine aşağıdaki uzantıları ekleyin:
<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>
Örnek: Tamamlandı <Applications>
etiketi
Şimdi için Snackbar
destek ekleyen tamamlanmış <Applications>
bir etiket örneği aşağıda verilmiştir:
<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>
Örnek: Dosya Desteklenecek Şekilde Güncelleştirildi Package.appxmanifest
Snackbar
Aşağıda Windows'da desteklenecek Snackbar
şekilde güncelleştirilmiş örnek Package.appxmanifest
bir dosya verilmiştir:
<?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>
Etkinleştirmeyi işleme hakkında daha fazla bilgi için: C# uygulamalarından yerel bir bildirim gönderme
Sözdizimi
C#
görüntülemek Toast
için, önce statik yöntemini Toast.Make()
kullanarak oluşturun, ardından yöntemini Show()
kullanarak görüntüleyin.
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);
çağrılırken Toast.Make()
parametresi string text
gereklidir. Diğer tüm parametreler isteğe bağlıdır. İsteğe bağlı parametresi ToastDuration duration
varsayılan süresini ToastDuration.Short
kullanır. İsteğe bağlı parametresi double fontSize
varsayılan değerini 14.0
kullanır.
Aşağıdaki ekran görüntüsünde, sonuçta elde edilen Bildirim gösterilir:
Özellikler
Özellik
Türü
Açıklama
Default value
Metin
string
içinde Toast
görüntülenen metin.
Required
Süre
ToastDuration
Görüntülenen süre Toast
.
ToastDuration.Short
Textsıze
double
Metin yazı tipi boyutu.
14.0
ToastDuration
Numaralandırma ToastDuration
aşağıdaki üyeleri tanımlar:
Short
- 2 saniye boyunca görüntüleme Toast
Long
- 3,5 saniye boyunca görüntüleme Toast
Bu değerler API'de android.widget.Toast
tanımlanan sabitlere bağlıdır.
Yöntemler
Metot
Açıklama
Göster
İstenen Toast
öğesini görüntüleyin. Toast
şu anda görüntüleniyorsa, istenen Toast
görüntülenmeden önce otomatik olarak kapatılır.
At
Geçerli bildirimi kapat.
Not
Aynı anda yalnızca bir tane Toast
görüntüleyebilirsiniz. yöntemini ikinci kez çağırırsanız Show
, ilki Toast
otomatik olarak kapatılır.
Örnekler
Bu özelliğin bir örneğini .NET MAUI Community Toolkit Örnek Uygulaması'nda çalışır durumda bulabilirsiniz.
API
üzerinde için Toast
kaynak kodunu .NET MAUI Community Toolkit GitHub deposunda bulabilirsiniz.
API, arabirimini uygulayarak mevcut yöntemleri kendi uygulamanızla veya kendi Toast'ınızı oluşturarak IToast
geçersiz kılmanıza olanak tanır.
Tost, Google tarafından oluşturulan Android'de uygulanır. Diğer platformlar özel olarak uygulanan bir kapsayıcı kullanır (UIView
iOS ve MacCatalyst için, ToastNotification
Windows üzerinde).
Tizen'de bildirim özelliği ve TextSize
özellikleriyle Duration
özelleştirilemiyor.