当前位置: 首页 > news >正文

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

假期第一天,祝大家端午节快乐。昨天观看了时代旗舰尊界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.Nonefunc build() {Row() {Text('这是一个提示').fontColor(Color.WHITE).fontSize(15)}.height(200).width(200).alignItems(VerticalAlign.Center).justifyContent(FlexAlign.Center).backgroundColor(0x80000000).borderRadius(10)}
}

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

http://www.dtcms.com/a/225350.html

相关文章:

  • 开始通信之旅-----话题通信
  • python 将音乐和人声分离
  • 如何编写GitLab-CI配置文件
  • 链表题解——合并两个有序链表【LeetCode】
  • 【数据结构】顺序表和链表详解(上)
  • 剪枝中的 `break` 与 `return` 区别详解
  • JS中的函数防抖和节流:提升性能的关键技术
  • barker-OFDM模糊函数原理及仿真
  • DelphiXe12创建DataSnap REST Application
  • 阴盘奇门 api数据接口
  • 中国高分辨率高质量地面NO2数据集(2008-2023)
  • ​​技术深度解析:《鸿蒙5.0+:无感续航的智能魔法》​
  • SSRF 接收器
  • 抖音客户端训练营--day2
  • 第13讲、Odoo 18 配置文件(odoo.conf)详细解读
  • [Android] APK安装器 V20160330-6.0
  • 重学计算机网络之以太网
  • 精英-探索双群协同优化(Elite-Exploration Dual Swarm Cooperative Optimization, EEDSCO)
  • 基于 Zynq 平台的 EtherCAT 主站的软硬件协同设计
  • wsl安装linux
  • 【火山引擎 大模型批量处理数据教程-详细】
  • 从前端工程化角度解析 Vite 打包策略:为何选择 Rollup 而非 esbuild。
  • Windows搭建Swift语言编译环境?如何构建ObjC语言编译环境?Swift如何引入ObjC框架?Interface Builder的历史?
  • 数据库,Spring Boot,数据源
  • Unity Mono与IL2CPP比较
  • 【CF】Day72——Codeforces Round 890 (Div. 2) CDE1 (二分答案 | 交互 + 分治 | ⭐树上背包)
  • 多模态大语言模型arxiv论文略读(103)
  • Java抽象工厂模式详解
  • 【计算机网络】第3章:传输层—面向连接的传输:TCP
  • Linux下目录递归拷贝的单进程实现