
HarmonyOS NEXT场景化示例代码(第三期)#鸿蒙示例代码# 原创
在HarmonyOS NEXT应用开发的征程中,我们精心打造了一系列强大且实用的鸿蒙场景化代码。这些代码凝聚着经验与汗水,如同精密的积木,为开发者提供了坚实的基础架构。
它们具备高度的灵活性和可扩展性,能够轻松应对鸿蒙场景的复杂需求,无论是构建一个功能丰富的应用,还是打造一个高效互动的元服务,这些鸿蒙场景化代码都能让开发过程变得更加高效、便捷、稳定。
它们经过了严格的测试与优化,确保在鸿蒙系统上能够稳定运行,帮助开发者跨越技术难题,快速实现创意构想,在鸿蒙生态的广阔天地中抢占先机,开启一段充满无限可能的开发之旅。
本贴持续系列更新中,开发者也可在鸿蒙场景化示例gitee仓中根据需求寻找示例代码。
更多精彩示例分享:
HarmonyOS NEXT场景化示例代码(第一期)#鸿蒙示例代码#
HarmonyOS NEXT场景化示例代码(第二期)#鸿蒙示例代码#
本文原创发布在华为开发者社区。
示例代码索引
- 123.实现自定义弹窗封装
- 122.实现通用密钥管理功能
- 121.实现图片切割九宫格功能
- 120.实现实时语音转文字功能
- 119.实现自定义tabbar滚动
- 118.基于AssetStoreKit实现免密登录
- 117.实现文本场景化
- 116.实现单框架Gson集成
- 115.实现单元测试与UI测试
- 114.实现弧形菜单功能
- 113.基于XComponent滑动功能
- 112.实现个人信息页功能
- 111.实现应用导航框架
- 110.实现视频录制功能
- 109.实现时间卡尺功能
- 108.实现页面全屏功能
- 107.滑动解锁和倒计时按钮
- 106.实现PdfKit功能
- 105.实现List嵌套功能
- 104.实现文件List拖动
- 103.实现时间戳格式转换功能
- 102.实现图片拼接功能
- 101.实现单页面防截屏功能
123.实现自定义弹窗封装
基于Navigation.Dialog的透明页面特性,可以用于实现弹窗效果,而且Navigation.Dialog存在于路由栈中,天然可以实现切换页面弹窗不消失。
122.实现通用密钥管理功能
本示例展示了密钥管理,包括:密钥生成/销毁、密钥导入、密钥证明、密钥协商、密钥派生相关功能。以及秘钥使用,包括:加解密、签名/验签、访问控制相关功能。
121.实现图片切割九宫格功能
本示例可以通过图库选择一张图片,将其切割成九宫格展示,然后可保存到图库中。
120.实现实时语音转文字功能
本示例介绍如何使用speechRecognizer实时语言转文字,并且根据光标位置插入文字,以及文本一键清空功能。
119.实现自定义tabbar滚动
本示例实现自定义tabbar滚动功能。
118.基于AssetStoreKit实现免密登录
本示例基于Asset Store Kit关键资产存储服务提供的关键资产信息存储能力,实现了一个免密登录的场景,通过将用户的账户密码存储为关键资产信息,来实现 记住账户密码的效果,从而实现用户免密登录。
117.实现文本场景化
本示例为文本场景的整合demo,主要包括六个场景示例:多行文本只展示一行、跑马灯案例、展示全文、Text实现部分文本高亮和超链接样式、文本高亮标记功能、文字截断。
116.实现单框架Gson集成
鸿蒙ets侧想使用map,保存打点上报的数据,但是Map和HashMap都不支持序列化,使用起来不方便。Gson用于对象与JSON字符串之间的互相转换,并支持JsonElement对象类型,功能比系统的HashMap能力会丰富一些,能满足绝大部分JSON数据的处理场景。由于该库未入OHPM仓库,需要手动下载源代码集成。
注:三方库Gson官方已停止维护,建议使用JSON。
115.实现单元测试与UI测试
本示例将介绍如何使用@kit.TestKit编写单元测试脚本,实现单元测试与UI测试。
114.实现弧形菜单功能
本示例介绍弧形菜单的场景化案例。
113.基于XComponent滑动功能
本示例基于XComponent组件实现了上下滑动视频浏览效果,同时提供了另一种XComponent组件实现的上下滑动视频浏览效果,用于与XComponent组件案例对比。
112.实现个人信息页功能
本示例实现如下个人页功能:
- 支持个人主页的头像、个人签名以及昵称信息修改同步
- 支持超限定行数(5行)的个人签名信息展开与折叠展示
- 支持网格化展示文集封面与文集标题
111.实现应用导航框架
-
本示例介绍Navigation系统路由表+动态import+Tabs 搭建的应用导航框架,通过系统路由表解决分包多团队开发耦合问题,彼此仅关注本团队负责Har包开发内容,将页面注册到系统路由表中,解决PageMap会导致代码产生大量的If/else分支问题,介绍了如何跳转同HAP包页面,har包页面跳转。
-
通过动态Import解决页面动态渲染的诉求,常用场景:首页多种样式,通过主题字段确定样式的加载。
-
TabBar作为底部导航栏,屏蔽Navigation导航栏。
110.实现视频录制功能
本示例使用系统相机实现拍照与录像功能,以及使用自定义相机实现视频录制。
startAbility方式系统相机拍照与录像功能 | cameraPicker方式系统相机拍照与录像功能 | AVRecorder方式自定义相机进行录像 |
---|---|---|
![]() |
![]() |
![]() |
109.实现时间卡尺功能
本示例基于Canvas绘制一个时间卡尺UI组件,滑动卡尺,时间随之发生改变。
108.实现页面全屏功能
本示例通过windowClass.setWindowLayoutFullScreen设置页面是否全屏。
107.滑动解锁和倒计时按钮
本示例实现了简单的滑动解锁按钮和倒计时结束按钮,能够实现滑动解锁,长按2秒结束或者按原设定时间结束。
106.实现PdfKit功能
本示例展示了如何使用PDFKit提供的能力进行PDF文件内容查看与编辑等相关操作,相关能力通过PDFKit服务接口@kit.PDFKit引入。
105.实现List嵌套功能
本示例展示了一个List嵌套Demo,其功能为List中嵌套List。
104.实现文件List拖动
本示例基于显式动画、List组件实现了文件推动、插入效果。
103.实现时间戳格式转换功能
本示例展示了一个日期格式转化的Demo,其功能为将一个时间戳转换为当前的时间。
102.实现图片拼接功能
本示例可以通过图库选择一张图片,可横向拼接成一张图,也可竖向拼接成一张图,然后保存到图库。
101.实现单页面防截屏功能
本示例基于原生能力,实现对单个页面设置为隐私模式,使其可以禁止截屏,录屏及分享屏幕等行为。
