6.Toast(Android)

愿你出走半生,归来仍是少年!

环境:.NET 7、MAUI

在Maui开发中使用的Toast太丑了,在android项目中使用时不够看。通过Maui的安卓绑定库可实现将android中已有的包导入到C#项目中使用,借助这个方法就可以使用以前在android原生开发中的包了。

1.新建Android Java库项目

在VS中新建项目,选择"Android 绑定库(Xamarin)"类别的项目,进行创建。
新建项目

2.导入JAVA包

将准备好的aar包拷贝至项目的Jars文件夹下,并将其 生成操作设定为"LibraryProjectZip",然后将项目进行生成。
导入aar包
生成

3.简单封装

由于是通过Java导入进来的,所以它的包名会变为命名空间,太长了,进行简单的封装,就成为可在MAUI框架下面向android平台使用的通用包了。

cs 复制代码
namespace AndroidLib
{
    /// <summary>
    /// 信息提示
    /// </summary>
    public static class Toasty
    {

        /// <summary>
        /// 成功提示
        /// </summary>
        /// <param name="msg">信息</param>
        /// <param name="isShort">显示时长</param>
        public static void Success(string msg, bool isShort=true)
        {
            ES.Dmoral.Toasty.Toasty.Success(Android.App.Application.Context, msg, isShort ? 0 : 1).Show();
        }

        /// <summary>
        /// 错误提示
        /// </summary>
        /// <param name="msg">信息</param>
        /// <param name="isShort">显示时长</param>
        public static void Error(string msg, bool isShort = true)
        {
            ES.Dmoral.Toasty.Toasty.Error(Android.App.Application.Context, msg, isShort ? 0 : 1).Show();
        }

        /// <summary>
        /// 警告提示
        /// </summary>
        /// <param name="msg">信息</param>
        /// <param name="isShort">显示时长</param>
        public static void Warning(string msg, bool isShort = true)
        {
            ES.Dmoral.Toasty.Toasty.Warning(Android.App.Application.Context, msg, isShort ? 0 : 1).Show();
        }

        /// <summary>
        /// 信息提示
        /// </summary>
        /// <param name="msg">信息</param>
        /// <param name="isShort">显示时长</param>
        public static void Info(string msg, bool isShort = true)
        {
            ES.Dmoral.Toasty.Toasty.Info(Android.App.Application.Context, msg, isShort ? 0 : 1).Show();
        }

        /// <summary>
        /// 常规提示
        /// </summary>
        /// <param name="msg">信息</param>
        /// <param name="isShort">显示时长</param>
        public static void Normal(string msg, bool isShort = true)
        {
            ES.Dmoral.Toasty.Toasty.Normal(Android.App.Application.Context, msg, isShort ? 0 : 1).Show();
        }

         
    }
}

4.使用

主项目程序引用刚才的绑定库项目,并调用上述的封装的类即可使用。

cs 复制代码
 private   void btn1_Clicked(object sender, EventArgs e)
 {

     Toasty.Normal("普通信息!");
 }

 private void btn2_Clicked(object sender, EventArgs e)
 {
    Toasty.Warning("警告信息!");
 }

 private void btn3_Clicked(object sender, EventArgs e)
 {
     Toasty.Success("成功信息!");
 }

 private void btn4_Clicked(object sender, EventArgs e)
 {
     Toasty.Error("错误信息!");
 }

 private void btn5_Clicked(object sender, EventArgs e)
 {
     Toasty.Info("提示信息!");
 }

5.效果

可以看出来,这个确实是比MAUI的好看啊!!!
使用效果

相关推荐
薄荷撞~可乐18 小时前
C#Task(Api)应用
开发语言·c#
William Wang~19 小时前
.net 类库生成的DLL源码混淆加密
.net
almighty271 天前
C#WPF控制USB摄像头参数:曝光、白平衡等高级设置完全指南
开发语言·c#·wpf·usb相机·参数设置
后青春期的诗go1 天前
金蝶云星空插件开发记录(一)
c#·钉钉·金蝶云星空·插件开发
一个帅气昵称啊1 天前
Docker命令大全:从基础到高级实战指南
docker·容器·eureka·架构·.net
大飞pkz1 天前
【设计模式】题目小练1
开发语言·设计模式·c#·题目小练
lljss20201 天前
C# 每个chartArea显示最小值、平均值、最大值
开发语言·c#
wearegogog1231 天前
C#与Twincat 2 实现上位机控制软PLC功能
开发语言·c#
军训猫猫头1 天前
12.NModbus4在C#上的部署与使用 C#例子 WPF例子
开发语言·c#·wpf
Eiceblue1 天前
使用 C# 设置 Excel 单元格格式
开发语言·后端·c#·.net·excel