Loading

MAUI中使用SnackBar与Toast通知

介绍

本文中, 将介绍如何在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通知。
posted @ 2022-02-15 10:59  痕迹g  阅读(1798)  评论(0编辑  收藏  举报