【HarmonyOS 4.0】全局UI方法

1. 弹窗

1.1 Toast - 消息提示

  1. 常用于显示一些简短的消息或提示,一般会在短暂停留后自动消失。
import promptAction from '@ohos.promptAction'promptAction.showToast(options: {message: string | Resource, duration: number, bottom: string | number}): void

1.2 AlertDialog - 警告对话框

  1. 用于向用户发出警告或确认操作的提示,确保用户在敏感操作前进行确认。
  2. 可使用全局方法 AlertDialog.show() 显示警告对话框

1.3 ActionSheet - 列表选择弹窗

  1. 用于提供一组选项给用户选择,用户从中选择后,可执行相应的操作。
  2. 可使用全局方法 ActionSheet.show() 显示操作列表弹窗。

1.4 选择器弹窗

  1. 用于让用户从一个列表中选择一个具体的值。
1.4.1 DatePickerDialog.show - 日期滑动选择器弹窗
  1. 可使用全局方法 DatePickerDialog.show() 定义日期滑动选择器弹窗并弹出。
1.4.2 TimePickerDialog.show - 时间滑动选择器弹窗
  1. 可使用全局方法 TimePickerDialog.show() 定义时间滑动选择器弹窗并弹出。
1.4.3 TextPickerDialog.show - 文本滑动选择器弹窗
  1. 可使用全局方法 TextPickerDialog.show() 定义文本滑动选择器弹窗并弹出。

1.5 自定义弹窗

  1. 当现有组件不满足要求时,可考虑自定义弹窗。自定义弹窗允许开发者自定义弹窗内容和样式。

1.5.1 @CustomDialog 装饰器

  1. @CustomDialog 装饰器用于装饰自定义弹窗。此装饰器内进行自定义内容(也就是弹窗内容)
  2. 定义 @CustomDialog 装饰的自定义弹窗组件必须包含CustomDialogController类型的属性。
  3. 使用 被@CustomDialog 装饰的自定义弹窗组件也需要定义一个CustomDialogController,为了通过它 设置弹窗样式、接收弹窗参数以及方法、.open() 启动弹窗等。
  4. 自定义弹窗代码模块敲 dialog 回车自动生成。
  5. onAccept(value) => void:点击弹窗中的“确定”按钮时触发该回调。
  6. onCancel() => void:点击弹窗中的“取消”按钮时触发该回调。
  7. exitApp() => void:点击遮罩层时触发该回调。

1.5.2 代码案例如下

// 自定义弹窗组件内容
@CustomDialog
export struct TextInputDialog {@State textInputValue: string = ''controller: CustomDialogController = new CustomDialogController({builder: TextInputDialog()})confirm!: (value: string) => voidbuild() {Column({ space: 25 }) {Text('请输入你的答案').fontSize(16)TextInput({ placeholder: '请输入纯数字' }).type(InputType.Number).onChange((value) => {this.textInputValue = value})Row({ space: 35 }) {Button('取消').width(100).height(35).onClick(() => {this.controller.close()})Button('确认').width(100).height(35).onClick(() => {this.confirm(this.textInputValue)this.controller.close()})}}.backgroundColor(Color.White).padding(20)}
}// 引用自定义弹窗组件
import { TextInputDialog } from "./TextInputDialog"@Entry
@Component
struct Index {@State answer: string = "?"controller: CustomDialogController = new CustomDialogController({builder: TextInputDialog({confirm: (value) => {this.answer = value}}),autoCancel: false,alignment: DialogAlignment.Bottom,offset: { dx: 0, dy: -10 },customStyle: false,gridCount: 4})build() {Column({ space: 20 }) {Row() {Text('1 + 1 = ').id('HelloWorld').fontSize(24).fontWeight(FontWeight.Bold)Text(this.answer).fontSize(24).fontWeight(FontWeight.Bold)}Button('作答', { type: ButtonType.Capsule }).width(80).height(35).onClick(() => {this.controller.open()})}.height('100%').width('100%').justifyContent(FlexAlign.Center).alignItems(HorizontalAlign.Center)}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/52515.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数据库应用

一、数据库基本概念 1、数据 (1)描述事物的符号记录称为数据(Data)。数字、文字、图形、图像、声音、档案记录等 都是数据。 (2)数据是以“记录”的形式按照统一的格式进行存储的,而不是杂乱…

AI学习记录 - 怎么理解 torch 的 nn.Conv2d

有用就点个赞 怎么理解 nn.Conv2d 参数 conv_layer nn.Conv2d(in_channels3, out_channels 64, kernel_size3, stride1, padding0, biasFalse) in_channels in_channels 可以设置成1,2,3,4等等都可以,一般来说做图像识别的时…

SD-WAN组网部署需要多久?

企业在发展时,对能够快速响应需求、降低成本、提升网络性能与安全性的解决方案的需求日益迫切。SD-WAN作为一种创新的网络技术,正逐渐成为企业实现这一目标的关键工具。许多企业关心的问题是:部署SD-WAN需要多长时间?接下来我们将…

舍得酒业增长梦魇浮现:上半年业绩下挫,库存激增仍要扩产

撰稿|行星 来源|贝多财经 2024年,白酒行业仍处于“存量竞争”下的调整恢复期。而据中国酒业协会理事长宋书玉透露,今年上半年全国白酒产量、销售收入、利润分别同比增长3%、11%和15%,实现量、价、利齐升,展现出强大的韧性。 在市…

基于分布式计算的电商系统设计与实现【系统设计、模型预测、大屏设计、海量数据、Hadoop集群】

文章目录 有需要本项目的代码或文档以及全部资源,或者部署调试可以私信博主项目展示项目介绍 目录摘要Abstract1 引言1.1 研究背景1.2 国内外研究现状1.3 研究目的1.4 研究意义 2 关键技术理论介绍2.1 Hadoop相关组件介绍2.2 分布式集群介绍2.3 Pyecharts介绍2.4 Fl…

CSS文本样式(一)

一、font-family 1、font-family属性 font-family​ :属性指定元素的​字体​,语法格式如下: ​font-family​: 字体1,字体2,...; 有两种字体系列名称: ​字体系列​:特定的字体系列(如Times New Rom…

深度学习-批量与动量【Datawhale X 李宏毅苹果书 AI夏令营】

实际工程中使用批量和动量可以对抗鞍点或局部最小值。 批量: 在计算梯度的时候不会用所有数据计算损失。类比我们考试复习时,一个单元一个单元的知识点输入,所有单元都输入就是一整个轮回。而这一个单元用深度学习的术语来说就是批量&#x…

SpringBoot实现Word转PDF/TXT

背景 研发工作中难免会遇到一些奇奇怪怪的需求,就比如最近,客户提了个新需求:上传一个WORD文档,要求通过系统把该文档转换成PDF和TXT。客户的需求是没得商量的,必须实现!承载着客户的期望,我开始…

谷粒商城实战笔记-269~271-商城业务-订单服务-bug修改

文章目录 一,269-商城业务-订单服务-bug修改二,270-商城业务-订单服务-订单确认页渲染三,271-商城业务-订单服务-订单确认页库存查询四,272-商城业务-订单服务-订单确认页模拟运费效果 一,269-商城业务-订单服务-bug修…

postgresql底层Driver驱动包数据库是怎么连接,怎么发送数据,怎么设置超时

##一、建立连接 ##connectionFactory.openConnectionImpl ##底层也没什么神秘的,就是使用的socket通讯 ##连接,打开流 ##socket.connect ##获取到读写流 ##二、数据库连接池创建Connection连接 ##三、发送相关sql数据 ##发数据 ##发送查询 ##sendParse(q…

three.js渲染中文的3D字体

下载中文字体 引入下面的代码 点击下载 提取码: lywa <!DOCTYPE html> <html lang"en"><head><title>three.js webgl - modifier - tessellation</title><meta charset"utf-8"><meta name"viewport" c…

第二证券:A股公司中期分红踊跃 红利资产获机构关注

A股公司2024年半年报正在密布宣布&#xff0c;上市公司中期分红计划备受商场重视。据统计&#xff0c;到8月26日&#xff0c;有中期分红计划的A股公司近370家&#xff0c;创下前史新高。业内人士称&#xff0c;得益于政策层面的生动引导&#xff0c;上市公司分红“大军”敏捷扩…

网络基础:理解 IP 地址与网段(网段是什么,网段与IP地址)

前言 在计算机网络中&#xff0c;网段 和 IP地址是网络通信中的两个至关重要的概念&#xff0c;但它们并不相同。这里来介绍一下它们之间的关系&#xff0c;简单记录一下 一. 网段 网段是指一个 IP 地址范围&#xff0c;通常由一个 IP 地址和一个子网掩码共同定义。子网掩码用…

2025秋招大语言模型落地实践面试题

本文系统地从计算力基础设施、软件架构、数据资源、应用场景和脑科学五大核心维度对大模型实践中的问题进行解答 以下是根据您的推文生成的目录: 下面是按照原文的问题重新整理的目录: 目录 计算力基础设施 1.1 什么是云边端协同架构?1.2 信息技术应用创新计划相关政策对企…

5、计算属性的使用

其实计算属性的get和set是不关联的&#xff1b;get时是跟双向绑定的数据有关&#xff0c;当那个数据变化的时候就触发一下get&#xff0c;更改状态。set时就是处理当改数据变化时&#xff0c;进行的一些处理 <template><div><h1>hi {{msg}}</h1><!…

赛博朋克游戏 各种游戏定制开发 软件定制开发 游戏开发 区块链游戏开发

赛博朋克&#xff0c;是“控制论”与“朋克”的合成词。字面意思&#xff0c;就是对“机械文明”的反思。该背景大多描绘在未来&#xff0c;建立于“低端生活与未来科技结合”的基础上&#xff0c;拥有先进科学技术&#xff0c;再以一定程度崩坏的社会结构做对比。之后&#xf…

在Ubuntu系统中安装R语言并使用R Markdown

官方提供的R语言安装教程&#xff1a;全面的 R 存档网络 (tsinghua.edu.cn) 在安装之前先使用命令更新软件列表&#xff0c;命令中的 - qq 参数用于减少命令执行时的输出信息。 # update indices sudo apt update -qq 安装依赖项&#xff1a;dirmngr&#xff08;用于管理密钥…

mysql的聚簇索引、非聚簇索引、回表

1.聚簇索引和非聚簇索引 聚簇索引&#xff08;聚集索引&#xff09;&#xff1a;数据和索引放在一起&#xff0c;B树的叶子节点存放了整行数据&#xff0c;有且只有一个。 【主键索引和唯一索引&#xff0c;主键唯一&#xff0c;存放的是主键对应的整行数据】非聚簇索引&#…

Linux(文件的查找和解压缩)

1、文件查找 1.1、find命令 查找符合条件的文件。 #在根目录下查找name名称为a.txt的文件 find / -name a.txt #在根目录下查找name名称为a.开头的文件 find / -name a.* #查找opt目录下&#xff0c;大于200M的文件 find /opt -size 200M #查找opt目录下&#xff0c;小于200…

阿里云服务器部署Sonic总结

1.购买阿里云服务器 访问阿里云官网&#xff0c;选择合适的云服务器购买 购买成功后创建ECS云服务器 下载Alibaba Cloud Client 创建AccessKey并保存 打开Alibaba Cloud Client&#xff0c;添加账号 2.安装docker 选择操作—>启动远程连接(SSH) snap install docker doc…