详解HarmonyOS NEXT仓颉开发语言中的全局弹窗

布局王
• 阅读 4

之前分享过仓颉开发语言中的自定义弹窗,那一次的自定义弹窗需要在对应页面先初始化再进行弹出,不是很方便。今天分享一下不依赖页面的全局弹窗。 仓颉提供了全局弹窗模块prompt_action,使用之前先将它导入: import ohos.prompt_action.* 该模块提供了三种预设好的弹窗形式,第一种是简单的文字提示,可以设置弹窗内容,弹窗持续时间、弹窗模式等属性,使用方式如下: PromptAction.showToast(message: '这是一个弹窗', duration: 4000, bottom: "80vp", showMode: ToastShowMode.Default) 你可以在任意页面任何地方随时调用,非常方便。看一下效果: 详解HarmonyOS NEXT仓颉开发语言中的全局弹窗 第二种是对话弹窗,内容有标题、内容和按钮的提示弹窗,比上一种弹窗内容丰富了些,适用于大多数场景,使用方式如下:

let buttons: Array<ButtonInfo> = [
  ButtonInfo("确认", Color.RED),
  ButtonInfo("取消", Color.BLACK)
]

PromptAction.showDialog(title: "标题", message: "删除不可取消,确认删除?", buttons: buttons, callback: { err: Option<AsyncError>, i: Option<Int32> =>

  })

弹窗效果图如下: 详解HarmonyOS NEXT仓颉开发语言中的全局弹窗 第三种是菜单弹窗,支持传入1到6个按钮,使用方式和对话框类似:

let buttons: Array<ButtonInfo> = [
  ButtonInfo("选项1", Color.BLACK),
  ButtonInfo("选项2", Color.BLACK)
]
PromptAction.showActionMenu(title: "标题", buttons: buttons, callback: { err: Option<AsyncError>, i: Option<Int32> =>

  })

效果图如下: 详解HarmonyOS NEXT仓颉开发语言中的全局弹窗 如果这三种弹窗都不能满足你的要求,PromptAction还支持设置自定义内容,它会返回弹窗的id,我们可以根据id来关闭弹窗,具体使用方式如下:

@State var customdialogId:Int32 = 0

@Builder
func CustomDialog() {
    Column(10) {
        Image(@r(app.media.startIcon))
        .width(50)
        .height(50)
        Text("这是自定义弹窗")
        .height(50.vp)
        Button("确定")
        .onClick({
            => PromptAction.closeCustomDialog(customdialogId)
        })
    }
    .margin(10.vp)
}

PromptAction.openCustomDialog(CustomDialogOptions(builder: bind(this.CustomDialog, this)),{ id =>
            customdialogId = id
            })

详解HarmonyOS NEXT仓颉开发语言中的全局弹窗 以上就是仓颉语言中全局弹窗的相关内容,感谢阅读。##HarmonyOS语言##仓颉##购物#

点赞
收藏
评论区
推荐文章
Stella981 Stella981
3年前
Android 经典笔记七 全局弹窗Dialog
目录介绍1.全局弹窗分析2.全局弹窗必要条件3.全局弹窗实现方式3.1.利用系统弹出dialog3.2.获取WindowManager,直接添加view3.3.在服务里,获取栈顶的Activity,弹窗4.Dialog实现全局Loading加载框4.1.自定义Loading类4.2.给自定义的
布局王 布局王
11小时前
仓颉开发语言入门教程:搭建开发环境
仓颉开发语言作为华为为鸿蒙系统自研的开发语言,虽然才发布不久,但是它承担着极其重要的历史使命。作为鸿蒙开发者,掌握仓颉开发语言将成为不可或缺的技能,今天我们从零开始,为大家分享仓颉语言的开发教程,今天要分享的是搭建开发环境。仓颉在DevEcostudio和
布局王 布局王
11小时前
鸿蒙仓颉开发语言实战教程:自定义组件
关于仓颉开发语言我们已经连续分享了很多天,相信大家对于仓颉开发语言已经有了一定的了解。今天我们继续进阶,分享一个仓颉开发语言中的自定义组件知识。本文案例就以上一篇文章中的自定义tabbar为例,因为我们自己开发的tabbar一直放在index.cj文件中总
布局王 布局王
11小时前
鸿蒙仓颉语言开发教程:自定义弹窗
假期第一天,祝大家端午节快乐。昨天观看了时代旗舰尊界S800的发布,不得不感慨这车真好啊~放假闲来无事,继续跟大家分享仓颉语言的开发教程,今天介绍一下自定义弹窗。仓颉语言中的自定义弹窗和ArkTs类似,但是还是有一些不同的地方。在仓颉中通过CustomDi
布局王 布局王
11小时前
鸿蒙Next仓颉语言开发实战教程:下拉刷新和上拉加载更多
在移动应用中,各种列表页面离不开下拉刷新和上拉加载更多,我们的商城应用也是如此。今天介绍一下在仓颉开发语言中如何实现这一功能。下拉刷新仓颉开发语言直接提供了下拉刷新的组件,叫做Refresh,使用起来也非常方便:@StatevarheaderLoading
布局王 布局王
11小时前
HarmonyOS NEXT仓颉开发语言实战案例:图片预览器
上文分享了如何使用仓颉语言实现动态广场,动态广场中有很多图片,本文一下如何使用仓颉语言实现一个图片放大预览器:看到这个效果,我首先想到的实现方案是弹窗,弹窗的弹出和消失效果为我们节省了很多工作,这里使用的是CustomDialogController。我们
程序员一鸣 程序员一鸣
11小时前
鸿蒙开发:应用内如何做更新
使用系统的,直接调用检查和显示更新弹窗即可,可以说就两个方法,我们就实现了应用更新的功能,可以说是非常的简单,如果系统的弹窗无法满足您的需求,您可以自定义弹窗,然后实现跳转应用详情页面即可。
鸿蒙小林 鸿蒙小林
11小时前
《仿盒马》app开发技术分享-- 商品规格弹窗(11)
技术栈Appgalleryconnect开发准备上一节我们实现了商品详情页面,并且成功在页面上展示了商品的图片、商品规格、活动详情等信息,要知道同一种商品大多数都是有多种型号跟规格的,所以这一节我们来实现商品的规格弹窗。这节的要点是自定义弹窗的运用。功能分
鸿蒙小林 鸿蒙小林
11小时前
《仿盒马》app开发技术分享-- 分类模块顶部导航列表弹窗(16)
技术栈Appgalleryconnect开发准备上一节我们实现了分类页面的顶部导航栏列表,并且实现了首页金刚区跟首页导航栏的联动,这一节我们实现导航栏列表的弹窗功能,需要学习的知识点有自定义弹窗,同时我们的数据源需要跟分类页保持一一致。功能分析1.弹窗自定
鸿蒙小林 鸿蒙小林
5小时前
《仿盒马》app开发技术分享-- 个人信息页(23)
技术栈Appgalleryconnect开发准备上一节我们实现了个人中心的业务逻辑,实现了个人信息修改后的动态更换,而且实现了一个静态的头像选择弹窗,但是这个弹窗我们并没有使用。这一节我们在个人信息页面就会使用到这个弹窗并且还涉及其他的弹窗。以及信息的同步