鸿蒙开发——短视频切换实现案例
·
往期推文全新看点(文中附带全新鸿蒙5.0全栈学习笔录)
✏️ 鸿蒙应用开发与鸿蒙系统开发哪个更有前景?
✏️ 嵌入式开发适不适合做鸿蒙南向开发?看完这篇你就了解了~
✏️ 对于大前端开发来说,转鸿蒙开发究竟是福还是祸?
✏️ 鸿蒙岗位需求突增!移动端、PC端、IoT到底该怎么选?
✏️ 市场巨变,移动开发行业即将迎来“第二春”?
✏️ 记录一场鸿蒙开发岗位面试经历~
✏️ 持续更新中……
介绍
短视频切换在应用开发中是一种常见场景,上下滑动可以切换视频,十分方便。本模块基于Swiper组件和Video组件实现短视频切换功能。
效果图预览

使用说明
- 上下滑动可以切换视频。
- 点击屏幕暂停视频,再次点击继续播放。
实现思路
-
使用Swiper创建一个竖直的可上下滑动的框架。
Swiper(this.swiperController) { LazyForEach(this.data, (item: VideoData, index: number) => { Stack({ alignContent: Alignment.BottomEnd }) { Vedio() }, (item: VideoData) => JSON.stringify(item)) } } .index(videoIndex) .autoPlay(false) .indicator(false) .loop(true) .duration(200) .vertical(true) -
在Swiper组件中使用Video组件承载视频。
// Video组件 Video({ src: item.video, controller: item.controller }) .width('100%') .height('100%') .objectFit(ImageFit.Contain) .loop(true) .autoPlay(item.auto) .controls(false) // 控制视频播放的控制栏是否显示 }
高性能知识点
本示例使用了LazyForEach进行数据懒加载,LazyForEach懒加载可以通过设置cachedCount属性来指定缓存数量,同时搭配组件复用能力以达到性能最优效果。
工程结构&模块类型
shortvideo // har类型
|---model
| |---BasicDataSource.ets // 模型层-懒加载数据源
| |---DataModel.ets // 数据模型层-视频数据
|---view
| |---ShortVideo.ets // 视图层-主页
| |---Side.ets // 视图层-视频右侧页面操作栏与左侧信息栏
| |---VideoSwiper.ets // 视图层-短视频切换
| |---CommentView.ets // 视图层-评论组件

更多推荐



所有评论(0)