.NET MAUI教程2-利用.NET CommunityToolkit.Maui框架弹Toast

在上一篇博文的基础上继续操作:

.NET MAUI教程1-入门并发布apk包安装到真机-CSDN博客

本文内容参考:

Toast - .NET MAUI Community Toolkit - Community Toolkits for .NET | Microsoft Learn

1 在NuGet包管理器中安装

MAUI Community Toolkit,版本选择9.1.1,如下图:

2 在MauiProgram.cs中新增builder.UseMauiCommunityToolkit();

完整代码如下:

cs 复制代码
using CommunityToolkit.Maui;
using Microsoft.Extensions.Logging;

namespace MauiDemo2
{
    public static class MauiProgram
    {
        public static MauiApp CreateMauiApp()
        {
            var builder = MauiApp.CreateBuilder();
            builder
                .UseMauiApp<App>()
                .ConfigureFonts(fonts =>
                {
                    fonts.AddFont("OpenSans-Regular.ttf", "OpenSansRegular");
                    fonts.AddFont("OpenSans-Semibold.ttf", "OpenSansSemibold");
                });

#if DEBUG
    		builder.Logging.AddDebug();
#endif
            builder.UseMauiCommunityToolkit();

            return builder.Build();
        }
    }
}

3 在MainPage.xaml.cs中新增代码:

cs 复制代码
private void ToastClicked(object sender, EventArgs e)
{
    CancellationTokenSource cancellationTokenSource = new CancellationTokenSource();

    string text = "弹出Toast";
    ToastDuration duration = ToastDuration.Short;
    double fontSize = 14;

    var toast = Toast.Make(text, duration, fontSize);

    toast.Show(cancellationTokenSource.Token);
}

完整代码如下:

cs 复制代码
using CommunityToolkit.Maui.Core;
using CommunityToolkit.Maui.Alerts;
namespace MauiDemo2
{
    public partial class MainPage : ContentPage
    {
        int count = 0;

        public MainPage()
        {
            InitializeComponent();
        }

        private void ToastClicked(object sender, EventArgs e)
        {
            CancellationTokenSource cancellationTokenSource = new CancellationTokenSource();

            string text = "弹出Toast";
            ToastDuration duration = ToastDuration.Short;
            double fontSize = 14;

            var toast = Toast.Make(text, duration, fontSize);

            toast.Show(cancellationTokenSource.Token);
        }
    }

}

4 在MainPage.xaml编辑如下:

cs 复制代码
<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             x:Class="MauiDemo2.MainPage">

    <ScrollView>
        <VerticalStackLayout
            Padding="30,0"
            Spacing="25">
            <Button
                x:Name="ToastBtn"
                Text="弹Toast"
                Clicked="ToastClicked"
                HorizontalOptions="Fill" />
        </VerticalStackLayout>
    </ScrollView>

</ContentPage>

5 在android模拟器中运行效果如下图:

相关推荐
Lost of 程序猿5 小时前
用 YARP 为 .NET 微服务搭一座“立交桥“:路由转发与生产配置实践
c#·asp.net
点纭8 小时前
C 语言 第七章 常用函数(3)
c语言·开发语言·算法·oracle·c#
用户788477316349 小时前
用 .NET MAUI 一套 C# 同时出 Windows 和 Android:哪些是真能共享,哪些是 marketing
c#
qq_410194299 小时前
.NET 8.0 下基于 PaddleOCRSharp 的离线文字识别落地指南
算法·.net
Lost of 程序猿10 小时前
用 Quartz.NET 优雅地处理 .NET 定时任务:从选型到 Docker 部署全记录
后端·c#·asp.net
林川~0120 小时前
Unity 万能物理检测工具:射线检测 / 范围检测 / 层级过滤 / 编辑器可视化(可直接拿去用)
游戏·unity·c#·射线检测·通用工具
He BianGu1 天前
【WPF-VisionMaster】机器视觉通用平台V5.0版本发行说明
opencv·c#·wpf·halcon·机器视觉·visionmaster
tang_04271 天前
【Hi.Ltd 专题】第9期:Interop 配置互操作(JSON/INI/XML/YAML/注册表/扫码)
经验分享·c#·hi.ltd系列
tang_04271 天前
【Hi.Ltd 专题】第7期:Threading 采集线程、锁与 LRU 缓存
经验分享·c#·hi.ltd系列
A_nanda1 天前
C# 界面卡顿:从定位到根治
c#