鸿蒙HarmonyOS开发实战往期必看文章:
一分钟了解”纯血版!鸿蒙HarmonyOS Next应用开发!
最新版!“非常详细的” 鸿蒙HarmonyOS Next应用开发学习路线!(从零基础入门到精通)
介绍
评论组件在目前市面上的短视频app中是一种很常见的场景,本案例使用全局状态保留能力弹窗来实现评论组件。点击评论按钮弹出评论组件,点击空白处隐藏该组件,再次点击评论按钮则会恢复上一次浏览的组件状态。
效果图预览
使用说明
- 点击评论按钮打开评论组件。
- 上下滑动可以浏览评论。
- 点击空白处或者关闭按钮可以关闭评论组件。
- 再次点击评论按钮则恢复上一次浏览评论位置。
实现思路
- 使用GlobalStateDialogManager来操作全局状态保留能力弹窗的布局内容以及显隐。源码参考Side.ets。 首先导入GlobalStateDialogManager,如下:
import { GlobalStateDialogManager } from '@ohos/base';
- 初始化及评论内容更改时,使用operateGlobalStateDialog函数配置弹窗内容布局,如下:
- @Link @Watch('changeCommentData') commentData: CommentDataSource; // 当评论内容更改时刷新全局弹窗
-
- changeCommentData() {
- GlobalStateDialogManager.operateGlobalStateDialog({
- wrapBuilder: wrapBuilder(commentBuilder),
- params: this.commentData
- });
- }
-
- aboutToAppear(): void {
- this.changeCommentData();
- }
-
- @Builder
- function commentBuilder(commentData: CommentDataSource): void {
- CommentComponent({ commentData: commentData })
- }
- 按钮点击时通过operateGlobalStateDialog函数配置弹窗显示,如下:
- build() {
- 、、、
-
- Column() {
- Image($r("app.media.short_video_new_icon"))
- .height($r("app.integer.short_video_fabulous_height"))
- .width($r("app.integer.short_video_fabulous_width"))
- .objectFit(ImageFit.ScaleDown)
- .margin({ bottom: $r("app.integer.short_video_fabulous_margin_bottom") })
- Text(this.commentCount)
- .fontSize($r("app.integer.short_video_fabulous_font_size"))
- .fontColor(Color.White)
- .opacity($r("app.float.short_video_fabulous_opacity"))
- }.width('60%')
- .height($r("app.integer.short_video_all_fabulous_height"))
- .onClick(() => {
- // 开启全局弹窗
- GlobalStateDialogManager.operateGlobalStateDialog({ isShowGlobalStateDialog: true });
- })
-
- 、、、
- }
高性能知识点
本示例使用了LazyForEach进行数据懒加载,LazyForEach懒加载可以通过设置cachedCount属性来指定缓存数量,同时搭配组件复用能力以达到性能最优效果。
工程结构&模块类型
- shortvideo // har类型
- |---model
- | |---BasicDataSource.ets // 模型层-懒加载数据源
- | |---DataModel.ets // 数据模型层-视频数据
- |---view
- | |---ShortVideo.ets // 视图层-主页
- | |---Side.ets // 视图层-视频右侧页面操作栏与左侧信息栏
- | |---VideoSwiper.ets // 视图层-短视频切换
- | |---CommentView.ets // 视图层-评论组件
模块依赖
最后
小编在之前的鸿蒙系统扫盲中,有很多朋友给我留言,有很多小伙伴不知道学习哪些鸿蒙开发技术?不知道需要重点掌握哪些鸿蒙应用开发知识点?而且学习时频繁踩坑,最终浪费大量时间。所以有一份实用的鸿蒙(HarmonyOS NEXT)路线图、学习视频、文档用来跟着学习是非常有必要的。
如果你是一名有经验的资深Android移动开发、Java开发、前端开发、对鸿蒙感兴趣以及转行人员
鸿蒙 NEXT 全栈开发学习笔记 希望这一份鸿蒙学习文档能够给大家带来帮助~
这份鸿蒙(HarmonyOS NEXT)包含了鸿蒙开发必掌握的核心知识要点,内容包含了(ArkTS、ArkUI开发组件、Stage模型、多端部署、分布式应用开发、音频、视频、WebGL、OpenHarmony多媒体技术、Napi组件、OpenHarmony内核、(南向驱动、嵌入式等)鸿蒙项目实战等等)鸿蒙(HarmonyOS NEXT)技术知识点。
鸿蒙(HarmonyOS NEXT)最新学习路线
该路线图包含基础技能、就业必备技能、多媒体技术、六大电商APP、进阶高级技能、实战就业级设备开发,不仅补充了华为官网未涉及的解决方案
路线图适合人群:
IT开发人员:想要拓展职业边界
零基础小白:鸿蒙爱好者,希望从0到1学习,增加一项技能。
技术提升/进阶跳槽:发展瓶颈期,提升职场竞争力,快速掌握鸿蒙技术
2.视频学习教程+学习PDF文档
HarmonyOS Next 最新全套视频教程
纯血版鸿蒙全套学习文档(面试、文档、全套视频等)
总结
参与鸿蒙开发,你要先认清适合你的方向,如果是想从事鸿蒙应用开发方向的话,可以参考本文的学习路径,简单来说就是:为了确保高效学习,建议规划清晰的学习路线



评论记录:
回复评论: