找回密码
 立即注册
首页 业界区 业界 鸿蒙仓颉语言开发教程:自定义弹窗

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

布相 2025-6-3 01:21:28
假期第一天,祝大家端午节快乐。昨天观看了时代旗舰尊界S800的发布,不得不感慨这车真好啊~
放假闲来无事,继续跟大家分享仓颉语言的开发教程,今天介绍一下自定义弹窗。
仓颉语言中的自定义弹窗和ArkTs类似,但是还是有一些不同的地方。
在仓颉中通过CustomDialogController实现自定义弹窗,在弹窗中使用构造函数CustomDialogControllerOptions来传递弹窗的所有参数,为大家贴一段演示代码:
  1. var dialogController: CustomDialogController = CustomDialogController(CustomDialogControllerOptions(
  2.   builder: loadingdialog(),
  3.   customStyle:true,
  4.   autoCancel:false
  5.   ))
复制代码
初始化完成后的弹窗可以使用open和close方法来打开和关闭:
  1. dialogController.open()
  2. dialogController.close()
复制代码
在仓颉中一些参数的写法也和ArkTs不太相同,比如cancel回调方法,比如颜色的设置。还要注意的是,@CustomDialog实现的自定义弹窗的所有参数是不支持动态刷新的,这一点不太方便,幽蓝目前也正在寻找更加方便的弹窗方式。
下面为大家分享一段完整的半透明文字提示弹窗的实现代码,先看下效果:
1.png

 
下面是实现代码:
  1. var dialogController: CustomDialogController = CustomDialogController(CustomDialogControllerOptions(
  2.   builder: loadingdialog(),
  3.   gridCount:3,
  4.   customStyle:true,
  5.   autoCancel:false,
  6.   maskColor:Color(0, 0, 0, alpha: 0.0),
  7.   cancel:{ => AppLog.info('关闭回调') }
  8.   ))
  9. package ohos_app_cangjie_entry.components
  10. import ohos.base.*
  11. import ohos.component.*
  12. import ohos.state_manage.*
  13. import ohos.state_macro_manage.*
  14. import cj_res_entry.app
  15. @CustomDialog
  16. public  class loadingdialog {
  17.     var controller: Option<CustomDialogController> = Option.None
  18.     func build() {
  19.         Row() {
  20.             Text('这是一个提示')
  21.             .fontColor(Color.WHITE)
  22.             .fontSize(15)
  23.         }.height(200).width(200).alignItems(VerticalAlign.Center).justifyContent(FlexAlign.Center).backgroundColor(0x80000000).borderRadius(10)
  24.     }
  25. }
复制代码
以上就是关于仓颉开发语言自定义弹窗的内容介绍,感谢阅读。#HarmonyOS语言##仓颉##购物#

来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
您需要登录后才可以回帖 登录 | 立即注册