写点什么

鸿蒙仓颉语言开发教程:自定义弹窗

作者:幽蓝计划
  • 2025-06-01
    山东
  • 本文字数:918 字

    阅读完需:约 3 分钟

鸿蒙仓颉语言开发教程:自定义弹窗

假期第一天,祝大家端午节快乐。昨天观看了时代旗舰尊界 S800 的发布,不得不感慨这车真好啊~


放假闲来无事,继续跟大家分享仓颉语言的开发教程,今天介绍一下自定义弹窗。


仓颉语言中的自定义弹窗和 ArkTs 类似,但是还是有一些不同的地方。


在仓颉中通过 CustomDialogController 实现自定义弹窗,在弹窗中使用构造函数 CustomDialogControllerOptions 来传递弹窗的所有参数,为大家贴一段演示代码:

var dialogController: CustomDialogController = CustomDialogController(CustomDialogControllerOptions(  builder: loadingdialog(),  customStyle:true,  autoCancel:false  ))
复制代码


初始化完成后的弹窗可以使用 open 和 close 方法来打开和关闭:

dialogController.open()dialogController.close()
复制代码


在仓颉中一些参数的写法也和 ArkTs 不太相同,比如 cancel 回调方法,比如颜色的设置。还要注意的是,@CustomDialog 实现的自定义弹窗的所有参数是不支持动态刷新的,这一点不太方便,幽蓝目前也正在寻找更加方便的弹窗方式。


下面为大家分享一段完整的半透明文字提示弹窗的实现代码,先看下效果:



下面是实现代码:

var dialogController: CustomDialogController = CustomDialogController(CustomDialogControllerOptions(  builder: loadingdialog(),  gridCount:3,  customStyle:true,  autoCancel:false,  maskColor:Color(0, 0, 0, alpha: 0.0),  cancel:{ => AppLog.info('关闭回调') }  ))

package ohos_app_cangjie_entry.componentsimport ohos.base.*import ohos.component.*import ohos.state_manage.*import ohos.state_macro_manage.*import cj_res_entry.app@CustomDialogpublic class loadingdialog { var controller: Option<CustomDialogController> = Option.None func build() { Row() { Text('这是一个提示') .fontColor(Color.WHITE) .fontSize(15) }.height(200).width(200).alignItems(VerticalAlign.Center).justifyContent(FlexAlign.Center).backgroundColor(0x80000000).borderRadius(10) }}
复制代码

以上就是关于仓颉开发语言自定义弹窗的内容介绍,感谢阅读。#HarmonyOS 语言 ##仓颉 ##购物 #

发布于: 刚刚阅读数: 5
用户头像

幽蓝计划

关注

还未添加个人签名 2025-05-09 加入

还未添加个人简介

评论

发布
暂无评论
鸿蒙仓颉语言开发教程:自定义弹窗_幽蓝计划_InfoQ写作社区