Toast
Artikel 05/17/2024
6 kontributor
Saran dan Komentar
Dalam artikel ini
Toast
adalah pemberitahuan berwakli yang muncul di bagian bawah layar. Ini secara otomatis ditutup setelah durasi waktu yang dapat dikonfigurasi.
Ini memberikan umpan balik sederhana kepada pengguna tentang operasi dalam pemberitahuan kecil.
Untuk mengakses Toast
fungsionalitas, diperlukan penyiapan khusus platform berikut.
Tidak diperlukan penyiapan lain.
Tidak diperlukan penyiapan lain.
Saat menggunakannya Snackbar
, penting untuk melakukan dua langkah berikut:
1. Aktifkan penggunaan snackbar dengan MauiAppBuilder
Saat menggunakan UseMauiCommunityToolkit
options
memanfaatkan parameter untuk mengaktifkan penggunaan snackbar di Windows sebagai berikut:
var builder = MauiApp.CreateBuilder()
.UseMauiCommunityToolkit(options =>
{
options.SetShouldEnableSnackbarOnWindows(true);
})
Hal di atas akan secara otomatis mendaftarkan handler yang diperlukan dengan mengonfigurasi peristiwa siklus hidup (OnLaunched
dan OnClosed
).
2. Sertakan pendaftaran ToastNotification dalam file Package.appxmanifest Anda
Untuk menangani tindakan snackbar, Anda harus memodifikasi Platform\Windows\Package.appxmanifest
file sebagai berikut:
Di Package.appxmanifest , di tag pembuka <Package>
, tambahkan Namespace XML berikut:
xmlns:com="http://schemas.microsoft.com/appx/manifest/com/windows10"
xmlns:desktop="http://schemas.microsoft.com/appx/manifest/desktop/windows10"
Di Package.appxmanifest , juga dalam tag pembuka<Package>
, perbarui IgnorableNamespaces
untuk menyertakancom
uap
rescap
dan :desktop
IgnorableNamespaces="uap rescap com desktop"
Contoh: Tag Selesai <Package>
Berikut adalah contoh tag pembukaan <Package>
lengkap yang telah menambahkan dukungan untuk 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">
Di Package.appxmanifest , di dalam setiap <Application>
tag, tambahkan ekstensi berikut:
<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>
Contoh: Tag selesai <Applications>
Berikut adalah contoh tag lengkap <Applications>
yang sekarang telah menambahkan dukungan untuk 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>
Contoh: File yang Diperbarui Package.appxmanifest
ke Dukungan Snackbar
Di bawah ini adalah contoh Package.appxmanifest
file yang telah diperbarui untuk didukung Snackbar
di 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>
Untuk informasi selengkapnya tentang menangani aktivasi: Mengirim pemberitahuan toast lokal dari aplikasi C#
Tidak diperlukan penyiapan lain.
Sintaks
C#
Untuk menampilkan Toast
, pertama-tama buat menggunakan metode Toast.Make()
statis , lalu tampilkan menggunakan metodenya 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);
Saat memanggil Toast.Make()
, parameternya string text
diperlukan. Semua parameter bersifat opsional. Parameter ToastDuration duration
opsionalnya menggunakan durasi ToastDuration.Short
default . Parameter double fontSize
opsionalnya menggunakan nilai default .14.0
Cuplikan layar berikut menunjukkan Toast yang dihasilkan:
Properti
Properti
Tipe
Deskripsi
Nilai default
Teks
string
Teks yang ditampilkan di Toast
.
Diperlukan
Durasi
ToastDuration
Durasi Toast
ditampilkan.
ToastDuration.Short
Ukuran Teks
double
Ukuran font teks.
14.0
ToastDuration
Enumerasi ToastDuration
menentukan anggota berikut:
Short
- Tampilan Toast
selama 2 detik
Long
- Tampilan Toast
selama 3,5 detik
Nilai-nilai ini mematuhi konstanta yang ditentukan dalam android.widget.Toast
API .
Metode
Metode
Deskripsi
tampilkan
Tampilkan yang diminta Toast
. Toast
Jika saat ini ditampilkan, itu akan secara otomatis diberhentikan sebelum permintaan Toast
ditampilkan.
Tutup
Matikan roti panggang saat ini.
Catatan
Anda hanya dapat menampilkan satu Toast
per satu. Jika Anda memanggil metode untuk kedua kalinya Show
, metode pertama Toast
akan secara otomatis diberhentikan.
Contoh
Anda dapat menemukan contoh fitur ini dalam tindakan di Aplikasi Sampel Toolkit Komunitas .NET MAUI.
API
Anda dapat menemukan kode sumber untuk Toast
lebih pada repositori GitHub .NET MAUI Community Toolkit.
API memungkinkan penimpaan metode yang ada dengan implementasi Anda sendiri atau membuat Toast Anda sendiri, dengan menerapkan IToast
antarmuka.
Toast diimplementasikan di Android, dibuat oleh Google. Platform lain menggunakan kontainer yang diimplementasikan khusus (UIView
untuk iOS dan MacCatalyst, ToastNotification
di Windows).
Roti bakar di Tizen tidak dapat disesuaikan dengan properti dan TextSize
miliknyaDuration
.