【鸿蒙 HarmonyOS】@ohos.promptAction (弹窗)

2024-04-07 07:44

本文主要是介绍【鸿蒙 HarmonyOS】@ohos.promptAction (弹窗),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、背景

创建并显示文本提示框、对话框和操作菜单。

文档地址👉:文档中心

说明

本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。

该模块不支持在UIAbility的文件声明处使用,即不能在UIAbility的生命周期中调用,需要在创建组件实例后使用。

本模块功能依赖UI的执行上下文,不可在UI上下文不明确的地方使用,参见UIContext说明。

从API version 10开始,可以通过使用UIContext中的getPromptAction方法获取当前UI上下文关联的PromptAction对象。

二、 导入模块

import promptAction from '@ohos.promptAction';

三、实现方式

3.1、创建并显示文本提示框

代码示例:

import promptAction from '@ohos.promptAction';
@Entry
@Component
struct PromptPage {build() {Column() {Button('显示一个toast').margin({top:100}).onClick(()=>{promptAction.showToast({message: '文本提示框',duration: 2000,bottom:200})})}.width('100%').height('100%')}
}

实现效果: 

参数说明如下:

message:显示的文本信息,必填项。
duration:Toast 显示时间,单位毫秒,范围 [1500, 10000],默认1500。 

bottom:设置弹窗边框距离屏幕底部的位置。默认值:80vp

3.2、创建并显示对话框

3.2.1、promptAction.showDialog同步

创建并显示对话框,对话框响应后同步返回结果

代码示例:

import promptAction from '@ohos.promptAction';
@Entry
@Component
struct PromptPage {build() {Column() {Button('显示一个Dialog').margin({top:100}).onClick(()=>{promptAction.showDialog({title:'标题',message:'内容-同步',buttons:[{text: "按钮一",color: "#333333"},{text: "按钮二",color: "#999999"}]}).then(data=>{console.info('showDialog success, click button: ' + data.index);}).catch((err:Error)=>{console.info('showDialog error: ' + err);})})}.width('100%').height('100%')}
}

实现效果:

3.2.2、promptAction.showDialog异步

创建并显示对话框,对话框响应结果异步返回

代码示例:

import promptAction from '@ohos.promptAction';
@Entry
@Component
struct PromptPage {build() {Column() {Button('显示一个Dialog').margin({top:100}).onClick(()=>{promptAction.showDialog({title:'标题',message:'内容-异步',buttons:[{text: "按钮一",color: "#333333"},{text: "按钮二",color: "#999999"}]},(err,data)=>{if (err) {console.info('showDialog err: ' + err);return;}console.info('showDialog success callback, click button: ' + data.index);})})}.width('100%').height('100%')}
}

实现效果:

参数说明如下:

title:对话框标题文本。
message:对话框内容文本。
buttons:对话框中按钮的数组,至少配置一个,最多三个

ShowDialogSuccessResponse

对话框的响应结果。

系统能力: SystemCapability.ArkUI.ArkUI.Full

名称

类型

必填

说明

index

number

选中按钮在buttons数组中的索引。

3.3、创建并显示操作菜单 

3.3.1、promptAction.showActionMenu异步

创建并显示操作菜单,菜单响应结果异步返回

代码示例:

import promptAction from '@ohos.promptAction';
@Entry
@Component
struct PromptPage {build() {Column() {Button('显示一个menu').margin({top:100}).onClick(()=>{promptAction.showActionMenu({title:'标题-异步',buttons:[{text: "按钮一",color: "#666666"},{text: "按钮二",color: "#000000"}]},(err,data)=>{if (err) {console.info('showActionMenu err: ' + err);return;}console.info('showActionMenu success callback, click button: ' + data.index);})})}.width('100%').height('100%')}
}

实现效果:

3.3.2、prompt.showActionMenu同步

创建并显示操作菜单,菜单响应后同步返回结果

代码示例:

import promptAction from '@ohos.promptAction';
@Entry
@Component
struct PromptPage {build() {Column() {Button('显示一个menu').margin({top:100}).onClick(()=>{promptAction.showActionMenu({title:'标题-同步',buttons:[{text: "按钮一",color: "#666666"},{text: "按钮二",color: "#000000"}]}).then(data => {console.info('showActionMenu success, click button: ' + data.index);}).catch((err:Error) => {console.info('showActionMenu error: ' + err);})})}.width('100%').height('100%')}
}

实现效果: 

参数说明如下:

title: Menu 的显示标题。
buttons: Menu 显示的按钮数组,至少 1 个按钮,至多 6 个按钮。

ActionMenuSuccessResponse

操作菜单的响应结果。

系统能力: SystemCapability.ArkUI.ArkUI.Full

名称

类型

必填

说明

index

number

选中按钮在buttons数组中的索引,从0开始。

Button

菜单中的菜单项按钮。

系统能力: SystemCapability.ArkUI.ArkUI.Full

名称

类型

必填

说明

text

string| Resource9+

按钮文本内容。

color

string| Resource9+

按钮文本颜色。

最后:👏👏😊😊😊👍👍  

这篇关于【鸿蒙 HarmonyOS】@ohos.promptAction (弹窗)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

你的华为手机升级了吗? 鸿蒙NEXT多连推5.0.123版本变化颇多

《你的华为手机升级了吗?鸿蒙NEXT多连推5.0.123版本变化颇多》现在的手机系统更新可不仅仅是修修补补那么简单了,华为手机的鸿蒙系统最近可是动作频频,给用户们带来了不少惊喜... 为了让用户的使用体验变得很好,华为手机不仅发布了一系列给力的新机,还在操作系统方面进行了疯狂的发力。尤其是近期,不仅鸿蒙O

Ubuntu 24.04 LTS怎么关闭 Ubuntu Pro 更新提示弹窗?

《Ubuntu24.04LTS怎么关闭UbuntuPro更新提示弹窗?》Ubuntu每次开机都会弹窗提示安全更新,设置里最多只能取消自动下载,自动更新,但无法做到直接让自动更新的弹窗不出现,... 如果你正在使用 Ubuntu 24.04 LTS,可能会注意到——在使用「软件更新器」或运行 APT 命令时,

鸿蒙开发搭建flutter适配的开发环境

《鸿蒙开发搭建flutter适配的开发环境》文章详细介绍了在Windows系统上如何创建和运行鸿蒙Flutter项目,包括使用flutterdoctor检测环境、创建项目、编译HAP包以及在真机上运... 目录环境搭建创建运行项目打包项目总结环境搭建1.安装 DevEco Studio NEXT IDE

HarmonyOS学习(七)——UI(五)常用布局总结

自适应布局 1.1、线性布局(LinearLayout) 通过线性容器Row和Column实现线性布局。Column容器内的子组件按照垂直方向排列,Row组件中的子组件按照水平方向排列。 属性说明space通过space参数设置主轴上子组件的间距,达到各子组件在排列上的等间距效果alignItems设置子组件在交叉轴上的对齐方式,且在各类尺寸屏幕上表现一致,其中交叉轴为垂直时,取值为Vert

OpenHarmony鸿蒙开发( Beta5.0)无感配网详解

1、简介 无感配网是指在设备联网过程中无需输入热点相关账号信息,即可快速实现设备配网,是一种兼顾高效性、可靠性和安全性的配网方式。 2、配网原理 2.1 通信原理 手机和智能设备之间的信息传递,利用特有的NAN协议实现。利用手机和智能设备之间的WiFi 感知订阅、发布能力,实现了数字管家应用和设备之间的发现。在完成设备间的认证和响应后,即可发送相关配网数据。同时还支持与常规Sof

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

效果图 #思路 创建带有 @CustomDialog 修饰的组件 ,并且在组件内部定义controller: CustomDialogController 实例化CustomDialogController,加载组件,open()-> 打开对话框 , close() -> 关闭对话框 #定义弹窗 (CustomDialog)是什么? CustomDialog是自定义弹窗,可用于广告、中

【HarmonyOS】-TaskPool和Worker的对比实践

ArkTS提供了TaskPool与Worker两种多线程并发方案,下面我们将从其工作原理、使用效果对比两种方案的差异,进而选择适用于ArkTS图片编辑场景的并发方案。 TaskPool与Worker工作原理 TaskPool与Worker两种多线程并发能力均是基于 Actor并发模型实现的。Worker主、子线程通过收发消息进行通信;TaskPool基于Worker做了更多场景化的功能封装,例

Unity协程搭配队列开发Tips弹窗模块

概述 在Unity游戏开发过程中,提示系统是提升用户体验的重要组成部分。一个设计良好的提示窗口不仅能及时传达信息给玩家,还应当做到不干扰游戏流程。本文将探讨如何使用Unity的协程(Coroutine)配合队列(Queue)数据结构来构建一个高效且可扩展的Tips弹窗模块。 技术模块介绍 1. Unity协程(Coroutines) 协程是Unity中的一种特殊函数类型,允许异步操作的实现

【鸿蒙HarmonyOS NEXT】页面之间相互传递参数

【鸿蒙HarmonyOS NEXT】页面之间相互传递参数 一、环境说明二、页面之间相互传参 一、环境说明 DevEco Studio 版本: API版本:以12为主 二、页面之间相互传参 说明: 页面间的导航可以通过页面路由router模块来实现。页面路由模块根据页面url找到目标页面,从而实现跳转。通过页面路由模块,可以使用不同的url访问不同的页面,包括跳转到U

鸿蒙开发5.0【Picker的受限权限适配方案】

Picker由系统独立进程实现,应用可以通过拉起Picker组件,用户在Picker上选择对应的资源(如图片、文档等),应用可以获取Picker返回的结果。 类型受限权限使用的picker音频ohos.permission.READ_AUDIO,ohos.permission.WRITE_AUDIOAudioViewPicker文件ohos.permission.READ_DOCUMENT,oh