鸿蒙开发中实现自定义弹窗 (CustomDialog)

news/2024/9/17 4:20:26 标签: harmonyos, 华为od, 华为, 鸿蒙

效果图

#思路

创建带有 @CustomDialog 修饰的组件 ,并且在组件内部定义controller: CustomDialogController

实例化CustomDialogController,加载组件,open()-> 打开对话框 , close() -> 关闭对话框


#定义弹窗 (CustomDialog)是什么?
CustomDialog是自定义弹窗,可用于广告、中奖、警告、软件更新等与用户交互响应操作。开发者可以通过CustomDialogController类显示自定义弹窗。
##步骤:

1.定义自定义弹窗

使用@CustomDialog装饰器装饰自定义弹窗,并且在组件内部定义controller: CustomDialogController

/*
 * 自定义弹窗有规则:
 * 1.必须有@CustomDialog
 * 2.里面使用 controller:CustomDialogController 定义一个固定的控制器对象
 * */
@CustomDialog
export struct HdLoadingDialog {
  @State
  message: string = ''
  controller: CustomDialogController

  build() {
    Flex({ direction: FlexDirection.Row, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) {
      LoadingProgress().width(30).height(30).color('#fff')
      if (this.message) {Text(this.message).fontSize((14)).fontColor('#fff')}
    }
    .width(150)
    .height(50)
    .padding(10)
    .backgroundColor('rgba(0,0,0,0.5)')
    .borderRadius(8)
  }
}
2.在想用的地方调用

调用方:实例化CustomDialogController,加载组件,open()-> 打开对话框 , close() -> 关闭对话框

  dialog = new CustomDialogController({
    builder: LoadingDialog({ message: '加载中...' }),
    customStyle: true, // 去掉弹框默认样式,使用自定义样式
    alignment:DialogAlignment.Center
  })

this.dialog.open()  //打开对话框

this.dialog.close()  //关闭对话框


                

http://www.niftyadmin.cn/n/5645587.html

相关文章

音乐项目

获取验证码: 将获取验证码的消息发送给前端,再由后端发给前端 function getverification_code(event) {event.preventDefault();console.log(点击获取验证码按钮);// 获取输入元素的值const emailInput document.getElementById(email);const emailVal…

Linux Centos 7网络配置

本步骤基于Centos 7,使用的虚拟机是VMware Workstation Pro,最终可实现虚拟机与外网互通。如为其他发行版本的linux,可能会有差异。 1、检查外网访问状态 ping www.baidu.com 2、查看网卡配置信息 ip addr 3、配置网卡 cd /etc/sysconfig…

一文说清什么是数据仓库

01 数据仓库的概念 数据仓库的概念可以追溯到20世纪80年代,当时IBM的研究人员开发出了“商业数据仓库”。本质上,数据仓库试图提供一种从操作型系统到决策支持环境的数据流架构模型。 目前对数据仓库(Data Warehouse)的标准定义&a…

Mysql 数据库免费使用

目录 前言 详细步骤 总结 前言 由于工作需要现在打算学习WPF开发,因为需要访问mysql数据,但是又不想在自己电脑上安装。于是就上网试着查了下,发现果然有提供免费数据库服务的网站。nice!所以就打算写一篇文章详细记录一下&…

《黑神话:悟空》专题合集MOD/修改器/壁纸/音乐/CG剧情

《黑神话:悟空》专题合集」 链接:https://pan.quark.cn/s/d67857f4e308 包含内容: 《黑神话:悟空》MOD合集 《黑神话:悟空》修改器(风灵月影) 《黑神话:悟空》壁纸合集 《黑神话&#xff1…

【深度学习】向量化

1. 什么是向量化 向量化通常是消除代码中显示for循环语句的技巧,在深度学习实际应用中,可能会遇到大量的训练数据,因为深度学习算法往往在这种情况下表现更好,所以代码的运行速度非常重要,否则如果它运行在一个大的数据…

C的温故而知新:The Last(C Primer Plus第十六、十七章)

The Last 想必是后面的内容超出大一课程规定的内容了,后面的文章数据惨的可怜。搜一下就能看见,好多人主张这本书后面几张可以不看。咋讲呢,对于这个观点来说,我本人是不认同的,我呢,粗略的看了看后两章的…

嵌入式24千兆电口+4万兆光口管理型三层交换机RTL9301模块

核心模块概述: 嵌入式RTL9301模块可以支持4口万兆上联24口千兆三层管理型以太网交换机,也就是最多可以提供24个10/100/1000自适应电口、4个10 Gb SFP 端口、1个console口、1个USB串口。 完善的安全控制策略及CPU保护策略(CPU protect policy)提高容错能力&#xff0…