0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

鸿蒙实战开发-全局UI方法的功能

jf_46214456 来源:jf_46214456 作者:jf_46214456 2024-02-02 17:13 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

主要开发内容

时间调节

使用全局UI的方法定义日期滑动选择器弹窗并弹出。
操作说明:首先创建一个包含按钮的用户界面,当用户点击“时间设置”按钮时,会弹出调用TimePickerDialog组件的show方法,显示一个时间选择对话框,用户进行选择时间后,该选择会被传递给前一个界面进行处理。

Column({space:30}){ Flex({direction: FlexDirection.Row, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) { Button("时间设置") .fontColor(Color.Black) .backgroundColor('#D5D8FF') .onClick(() => { TimePickerDialog.show({ useMilitaryTime: this.isUseMilitaryTime, onAccept: (value: TimePickerResult) => { console.info("时间设置:onAccept()" + JSON.stringify(value)) }, onCancel: () => { console.info("时间设置:onCancel()") }, onChange: (value: TimePickerResult) => { console.info("时间设置:onChange()" + JSON.stringify(value)) } }) }) }

实现效果如下:

时间设置功能

功能切换

使用UI组件和方法实现功能界面的切换。
操作说明:通过this.isComplete的布尔值进行条件渲染和改变界面。
首先:进行判断this.isComplete的值,若该条件为true,进行“制冷腔”文本标签的显示。

if (this.isComplete){ Button("制冷腔") .width(120) .height(37) .fontColor('#410980') .backgroundColor('#D5D8FF') .borderColor('#380980') .borderStyle(BorderStyle.Solid) .borderRadius(23) .borderWidth(2) .width(120) .opacity(0.7) }

若条件为false,进行显示另一个文本“蓄冷腔”,通过之后获取this.isComplete的值实现两个文本间的切换和显示,且两个文本渲染和位置相同。

else { Button("蓄冷腔") .width(120) .height(37) .fontColor('#410980') .backgroundColor('#D5D8FF') .borderColor('#380980') .borderStyle(BorderStyle.Solid) .borderRadius(23) .borderWidth(2) .width(120) .opacity(0.7) }

接下来:通过Column和Row组件将“14摄氏度”和“16摄氏度”水平放置,这两个文本组件的颜色会根据this.isComplete的值改变,但改变的方式与下述按钮不同,实现两个文本的左右颜色的切换而不是在原位置实现的文本覆盖。

Column({space:15}){ Row({space:50}){ Text("14摄氏度") .fontSize(20) .fontColor(this.isComplete? '#ff2489ac' : Color.Black ) Text("16摄氏度") .fontSize(20) .fontColor(this.isComplete? Color.Black : '#ff2489ac') }

最后,设置按钮,显示“腔室切换”,当点击时,会将this.isComplete的值取反(如果之前是true,则变为false,反之亦然),同时代码中的.onClick方法是一个事件监听器,它会在按钮被点击时执行给定的函数,这个函数将this.isComplete的值切换。

Button("切换腔室",{type:ButtonType.Normal}) .borderRadius(60) .borderRadius(8) .fontColor('#064A62') .backgroundColor('#ffd3bff3') .onClick(() => { this.isComplete= !this.isComplete; }) }

实现效果如下:

制冷腔功能

点击按钮:制冷腔→蓄冷腔,14摄氏度→16摄氏度:

蓄冷腔功能

总结

该功能是基于手机、平板、智慧屏或智能穿戴的模板进行的开发,HarmonyOS提供了丰富的组件,通过全面系统的了解学习ArkTS API的调用,使用全局UI的方法定义日期滑动选择器弹窗并弹出和功能界面的切换。

本项目的目标是开发一个易于使用且功能强大的系统,用于时间管理和腔室温度转换。最主要的两个功能是利用鸿蒙具备分布架构、天生流畅、内核安全及生态互享等优势来完成该系统功能,通过鸿蒙框架使用全局UI方法实现时间的调节,利用组件实现功能切换。

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • ui
    ui
    +关注

    关注

    0

    文章

    208

    浏览量

    22239
  • 鸿蒙
    +关注

    关注

    60

    文章

    2862

    浏览量

    45366
  • OpenHarmony
    +关注

    关注

    31

    文章

    3927

    浏览量

    20726
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    【项目实战】基于Hi3861的鸿蒙智能小车(循迹、超声波避障、远程控制、语音控制、4G定位)有教程代码

    ,同时整理了详细开发文档资料,新手跟着也能慢慢搭起来,提升实战能力。项目硬件清单鸿蒙智能小车项目使用的是红框部分鸿蒙智能小车豪华套餐硬件以及语音控制项目模块。项目
    的头像 发表于 09-10 17:13 951次阅读
    【项目<b class='flag-5'>实战</b>】基于Hi3861的<b class='flag-5'>鸿蒙</b>智能小车(循迹、超声波避障、远程控制、语音控制、4G定位)有教程代码

    鸿蒙应用px,vp,fp概念详解

    传统移动端开发方向,转到鸿蒙应用开发方向。 前端开发同学对于开发范式很熟悉,但是对于工作流程和开发
    的头像 发表于 07-07 11:48 1035次阅读
    <b class='flag-5'>鸿蒙</b>应用px,vp,fp概念详解

    鸿蒙5开发宝藏案例分享---一多开发实例(音乐)

    各位开发者小伙伴们好呀!今天咱们来点硬核干货!最近在鸿蒙文档中心挖到一座“金矿”——官方竟然暗藏了100+实战案例,从分布式架构到交互动效优化应有尽有!这些案例不仅藏着华为工程师的私房技巧,还直接
    的头像 发表于 06-30 11:54 624次阅读

    UI开发概述

    应用开发在TypeScript(简称TS)生态基础上做了进一步扩展。扩展能力包含声明式UI描述、自定义组件、动态扩展UI元素、状态管理和渲染控制。状态管理作为基于ArkTS的声明式开发
    发表于 06-24 06:36

    鸿蒙5开发宝藏案例分享---优化应用包体积大小问题

    ?** 鸿蒙包体积优化实战:藏在官方文档里的宝藏技巧!** 大家好呀~我是你们的鸿蒙开发小伙伴!今天在翻官方文档时,发现了一个超实用的「包体积优化」案例宝藏库!这些技巧明明能大幅提升应
    发表于 06-13 10:09

    鸿蒙5开发宝藏案例分享---内存优化实战指南

    的工具链和 API 在快速发展,保持关注开发者文档和社区,获取最新的优化技术和案例。 希望这份结合官方精华和实战经验的分享,能帮你真正用好鸿蒙的这些“宝藏”功能,打造出内存占用低、运
    发表于 06-12 17:15

    鸿蒙5开发宝藏案例分享---性能优化案例解析

    鸿蒙性能优化宝藏指南:实战工具与代码案例解析 大家好呀!今天在翻鸿蒙开发者文档时,意外挖到一个 性能优化宝藏库 ——原来官方早就提供了超多实用工具和案例,但很多小伙伴可能没发现!这篇就
    发表于 06-12 16:36

    鸿蒙5开发宝藏案例分享---埋点开发实战指南

    鸿蒙埋点开发宝藏指南:官方案例实战解析,轻松搞定数据追踪! 大家好呀!我是HarmonyOS开发路上的探索者。最近在折腾应用埋点时,意外发现了鸿蒙
    发表于 06-12 16:30

    鸿蒙5开发宝藏案例分享---切面编程实战揭秘

    鸿蒙切面编程(AOP)实战指南:隐藏的宝藏功能大揭秘! 大家好!今天在翻鸿蒙开发者文档时,意外发现了官方埋藏的「切面编程」宝藏案例!实际
    发表于 06-12 16:21

    鸿蒙5开发宝藏案例分享---应用架构实战技巧

    大家好! 今天咱们聊聊鸿蒙开发中那些“官方文档提了但实际开发难找”的架构设计技巧。结合官方文档,我会用 真实代码案例+通俗讲解 ,帮你把分层架构和线程通信落地到项目里,告别“理论会了,代码不会
    发表于 06-12 16:14

    KaihongOS笔记本电脑开发实战第九节:全功能TypeC驱动框架适配

    《手把手教你做PC》系列直播课再度开播 !《 KaihongOS笔记本电脑开发实战第九节九:全功能TypeC驱动框架适配》将于5月21日19:00开播 ↑扫码入群,领课程讲义资料包↑ 深开鸿资深
    发表于 05-19 18:29

    DevEco Studio AI辅助开发工具两大升级功能 鸿蒙应用开发效率再提升

    HarmonyOS应用的AI智能辅助开发助手——CodeGenie,该AI助手深度集成在DevEco Studio中,提供鸿蒙知识智能问答、鸿蒙ArkTS代码补全/生成和万能卡片生成等功能
    发表于 04-18 14:43

    DialogHub上线OpenHarmony开源社区,高效开发鸿蒙应用弹窗

    作为鸿蒙应用开发者,在使用ArkUI现有能力进行弹窗开发时,总会遇到一些让人纠结的交互问题:应用内进行消息提示时,既要求消息内容支持图文混排,又要求弹窗本身不能打断用户交互(页面滑动、页面
    发表于 04-03 17:30

    名单公布!【书籍评测活动NO.56】极速探索HarmonyOS NEXT:纯血鸿蒙应用开发实践

    开发的核心技术,以及鸿蒙应用在实际开发中的应用方法。 本书共分为四篇,共计16章,分别为鸿蒙开发
    发表于 01-20 16:53

    鸿蒙Flutter实战:14-现有Flutter 项目支持鸿蒙 II

    分别安装官方的3.22版本,以及鸿蒙社区的 3.22.0 版本 3.搭建 Flutter鸿蒙开发环境 参考文章《鸿蒙Flutter实战:0
    发表于 12-26 14:59