介紹
本文中, 將介紹如何在MAUI項目當中使用SnackBar以及Toast通知功能, 通過添加 CommunityToolkit.Maui 包,來擴展MAUI功能。
首先, 創建MAUI項目, 並且安裝 CommunityToolkit.Maui:
<ItemGroup>
<PackageReference Include="CommunityToolkit.Maui" Version="1.0.0-pre6" />
</ItemGroup>
緊接着,在Program中,注冊CommunityToolkit.Maui包, 使用包提供的擴展方法: UseMauiCommunityToolkit
public static class MauiProgram
{
public static MauiApp CreateMauiApp()
{
var builder = MauiApp.CreateBuilder();
builder
.UseMauiApp<App>()
.ConfigureFonts(fonts =>
{
fonts.AddFont("OpenSans-Regular.ttf", "OpenSansRegular");
})
.UseMauiCommunityToolkit();
return builder.Build();
}
}
使用Toast
使用Toast的靜態方法Make,傳遞通知的內容以及時間(ToastDuration), 枚舉ToastDuration為Long/Short, 默認保持的時間分別為2/3.5秒 (IOS || MACCATALYST || WINDOWS)。
using using CommunityToolkit.Maui.Alerts;
//...
private void OnCounterClicked(object sender, EventArgs e)
{
Toast.Make("Hello~", CommunityToolkit.Maui.Core.ToastDuration.Short).Show();
}
針對Windows平台, Toast使用的是ToastNotification, 效果如下所示:
Android平台,則是使用原生的Android.Widget.Toast.MakeText, 效果如下所示:
使用SnackBar
與Toast類似, 同樣是通過Make傳遞可選參數,並且調用Show進行顯示。
private void OnCounterClicked(object sender, EventArgs e)
{
Snackbar.Make("Hello!").Show();
}
也可以調用元素的擴展方法進行顯示到元素的地址位置。
MyButton.DisplaySnackbar("Hello!");
相關限制
- Toast與SnackBar 原生僅在Android可用
說明: windows平台SnackBar無法定位, 並且與Toast相同顯示默認的Windows通知。