【HarmonyOS】逻辑类中调用通用弹窗的处理

2024-06-11 11:12

本文主要是介绍【HarmonyOS】逻辑类中调用通用弹窗的处理,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

【HarmonyOS】逻辑类中调用通用弹窗的处理

一、背景说明:

在应用开发中,为了保证APP应用内的弹框的一致性,一般而言会封装风格一致的通用弹框组件。用于提示和便捷的逻辑触发操作。比如通知,踢出登录,奖励提醒等等。

并且鸿蒙原生的customDialog不能在纯逻辑处理类中进行触发和调用,与UI类是强绑定的关系。所以对弹框进行组件子窗口封装是很有必要。

注意:目前官方对外的API还没有开放可在纯逻辑中使用的弹框。

考虑到弹框的通用性,在确定和取消按钮样式的基础上,添加对UI插槽的支持,可以将自定义的View内容填充到弹框中,并且可修改弹框的宽高。

考虑到弹框信息,用户需要有操作情景。将弹框处理队列维持信息的缓存和记录,每次操作完当前弹框后,才会显示下个弹框。因为有队列,所以对消息权限紧急的信息,添加插队处理。

二、如何设计:

  1. 首先为了实现可在纯逻辑开发类中触发弹框,我们需要将通用弹框的UI部分进行剥离,呈现在业务窗口之上,创建子窗口建立提醒交互层。

  2. 因为UI进行了剥离,所以我们需要有调用和信息传递的桥接层,此时就需要封装一个单例mgr进行管理通用弹框的队列,状态,唤起接口等。

  3. 配置弹框要展示的信息,将配置信息对象添加到DialogManager中,加入队列去展示。

// 插槽使用DialogUIConfigInfo.mBuilder 将修饰的函数赋值传入即可,注意调整弹框宽高 customContain() {Text("你好CSDN")
}  mDialogUIConfigInfo.mBuilder = this.customContain.bind(this)

三、剥离通用弹框UI的原理:

CustomDialog是弹框UI类,在业务层窗口之上,创建子窗口。将UI布局添加,默认隐藏。再通过封装的单例DialogMgr通过对配置对象的调度,将数据传输给CustomDialog,弹框界面唯一,每次弹框变化只是刷新数据。

通过DialogMgr进行队列的维护,并且使用DiaologType对普通和特殊两种类型的弹框,进行区分。
DialogUIConfigInfo是对弹框的信息汇总配置对象,通过设置所需要的信息,将对象传给DialogMgr进行展示使用。

这篇关于【HarmonyOS】逻辑类中调用通用弹窗的处理的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1051006

相关文章

Spring Boot @RestControllerAdvice全局异常处理最佳实践

《SpringBoot@RestControllerAdvice全局异常处理最佳实践》本文详解SpringBoot中通过@RestControllerAdvice实现全局异常处理,强调代码复用、统... 目录前言一、为什么要使用全局异常处理?二、核心注解解析1. @RestControllerAdvice2

Java中调用数据库存储过程的示例代码

《Java中调用数据库存储过程的示例代码》本文介绍Java通过JDBC调用数据库存储过程的方法,涵盖参数类型、执行步骤及数据库差异,需注意异常处理与资源管理,以优化性能并实现复杂业务逻辑,感兴趣的朋友... 目录一、存储过程概述二、Java调用存储过程的基本javascript步骤三、Java调用存储过程示

Python中Tensorflow无法调用GPU问题的解决方法

《Python中Tensorflow无法调用GPU问题的解决方法》文章详解如何解决TensorFlow在Windows无法识别GPU的问题,需降级至2.10版本,安装匹配CUDA11.2和cuDNN... 当用以下代码查看GPU数量时,gpuspython返回的是一个空列表,说明tensorflow没有找到

python如何调用java的jar包

《python如何调用java的jar包》这篇文章主要为大家详细介绍了python如何调用java的jar包,文中的示例代码简洁易懂,具有一定的借鉴价值,有需要的小伙伴可以参考一下... 目录一、安装包二、使用步骤三、代码演示四、自己写一个jar包五、打包步骤六、方法补充一、安装包pip3 install

电脑提示xlstat4.dll丢失怎么修复? xlstat4.dll文件丢失处理办法

《电脑提示xlstat4.dll丢失怎么修复?xlstat4.dll文件丢失处理办法》长时间使用电脑,大家多少都会遇到类似dll文件丢失的情况,不过,解决这一问题其实并不复杂,下面我们就来看看xls... 在Windows操作系统中,xlstat4.dll是一个重要的动态链接库文件,通常用于支持各种应用程序

SQL Server数据库死锁处理超详细攻略

《SQLServer数据库死锁处理超详细攻略》SQLServer作为主流数据库管理系统,在高并发场景下可能面临死锁问题,影响系统性能和稳定性,这篇文章主要给大家介绍了关于SQLServer数据库死... 目录一、引言二、查询 Sqlserver 中造成死锁的 SPID三、用内置函数查询执行信息1. sp_w

Java对异常的认识与异常的处理小结

《Java对异常的认识与异常的处理小结》Java程序在运行时可能出现的错误或非正常情况称为异常,下面给大家介绍Java对异常的认识与异常的处理,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参... 目录一、认识异常与异常类型。二、异常的处理三、总结 一、认识异常与异常类型。(1)简单定义-什么是

华为鸿蒙HarmonyOS 5.1官宣7月开启升级! 首批支持名单公布

《华为鸿蒙HarmonyOS5.1官宣7月开启升级!首批支持名单公布》在刚刚结束的华为Pura80系列及全场景新品发布会上,除了众多新品的发布,还有一个消息也点燃了所有鸿蒙用户的期待,那就是Ha... 在今日的华为 Pura 80 系列及全场景新品发布会上,华为宣布鸿蒙 HarmonyOS 5.1 将于 7

Golang 日志处理和正则处理的操作方法

《Golang日志处理和正则处理的操作方法》:本文主要介绍Golang日志处理和正则处理的操作方法,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考... 目录1、logx日志处理1.1、logx简介1.2、日志初始化与配置1.3、常用方法1.4、配合defer

springboot加载不到nacos配置中心的配置问题处理

《springboot加载不到nacos配置中心的配置问题处理》:本文主要介绍springboot加载不到nacos配置中心的配置问题处理,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑... 目录springboot加载不到nacos配置中心的配置两种可能Spring Boot 版本Nacos