首页
学习
活动
专区
圈层
工具
发布

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

假期第一天,祝大家端午节快乐。昨天观看了时代旗舰尊界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.components

import ohos.base.*

import ohos.component.*

import ohos.state_manage.*

import ohos.state_macro_manage.*

import cj_res_entry.app

@CustomDialog

public 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语言##仓颉##购物#

  • 发表于:
  • 原文链接https://page.om.qq.com/page/O0ym6hEA5AOpC0m_6vYkEvgQ0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。
领券