尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
鸿蒙掌上驾考宝典应用开发13:List 列表组件——高性能长列表渲染
第13篇List 列表组件——高性能长列表渲染一、引言List 是鸿蒙 ArkUI 中用于展示长列表的容器组件支持高效的滚动渲染。DriverLicenseExam 项目在多个场景中使用 List 组件包括视频列表、功能列表等。本文将详细解析 List 组件的使用和性能优化。二、List 基本用法2.1 水平视频列表在 HomeView 中List 用于展示水平滚动的视频列表// 考场必考项目讲解——视频列表Column({ space:12}) { Text(考场必考项目讲解) .fontSize(16) .fontColor($r(sys.color.font_primary)) .width(CommonConstants.FULL_WIDTH) .maxFontScale(1); List({ space:12}) {ForEach(this.videoList, (item: Video) { ListItem() {Column({ space:8}) { // 视频封面 RelativeContainer() { Image(item.poster) .width(CommonConstants.FULL_WIDTH) .height(CommonConstants.FULL_HEIGHT); Image($r(app.media.play_button)) .width(24).height(24) .alignRules({ bottom: { anchor:__container__, align: VerticalAlign.Bottom }, right: { anchor:__container__, align: HorizontalAlign.End} }) .offset({ x:-8, y:-8}); } .height(80) .width(CommonConstants.FULL_WIDTH) .onClick(() { this.vm.navStack.pushPathByName(videoDetailView, item); }); Text(item.name) .fontSize(14) .fontColor($r(sys.color.font_secondary)) .width(CommonConstants.FULL_WIDTH) .maxFontScale(1); } .width(104); } }, (item: Video) JSON.stringify(item)); } .layoutWeight(1) .listDirection(Axis.Horizontal) // 水平方向 .scrollBar(BarState.Off); // 隐藏滚动条 }2.2 垂直功能列表在 MineView 中List 用于展示垂直排列的功能菜单// 我的页面——功能列表List(){ForEach(COMMON_SERVICE, (item: MinePageCommonService) {ListItem(){Column(){if(item.label意见反馈) { this.Feedback(item); }else{ this.FunctionItem(item); } } .width(CommonConstants.FULL_PERCENT) .height(46); } },(item: MinePageCommonService) { returnJSON.stringify(item.label); }); } .backgroundColor($r(sys.color.comp_background_primary)) .divider({ strokeWidth:0.5, color:$r(sys.color.comp_divider), startMargin:12, endMargin:12}) .borderRadius(16).edgeEffect(EdgeEffect.Spring, {alwaysEnabled:true});三、List 核心属性3.1 方向控制// 水平方向列表List({ space:12}).listDirection(Axis.Horizontal)// 垂直方向列表默认List({ space:12}).listDirection(Axis.Vertical)3.2 分割线配置List() .divider({ strokeWidth:0.5,//线宽 color:$r(sys.color.comp_divider),//颜色 startMargin:12,//起始缩进 endMargin:12//结束缩进 });3.3 边缘效果List().edgeEffect(EdgeEffect.Spring, {alwaysEnabled:true});// 弹簧效果始终启用四、ForEach 的 key 生成4.1 key 的重要性// 使用唯一标识作为 keyForEach(this.videoList, (item: Video) {ListItem(){...} },(item: Video) JSON.stringify(item));// 将整个 item 序列化作为 key// 更好的做法使用唯一 IDForEach(this.videoList, (item: Video) {ListItem(){...} },(item: Video) item.id);五、总结List 组件提供了高效的列表渲染能力支持水平和垂直方向、分割线、边缘效果等特性。搭配 ForEach 使用时合理的 key 生成策略可以显著提升列表渲染性能。关键源码文件products/entry/src/main/ets/pages/home/HomeView.ets— 水平视频列表products/entry/src/main/ets/pages/mine/MineView.ets— 垂直功能列表
RELATED

相关推荐

告别论文内耗[特殊字符]OKBIYE才是2026真正适配双检的全能学术工具

告别论文内耗[特殊字符]OKBIYE才是2026真正适配双检的全能学术工具

写论文最崩溃的从来不是写不出字,而是反复返工、不停踩坑、工具白用! 要么降重过了查重、AI检测直接红标;要么写的内容空洞无创新、被导师无限驳回;要么排版混乱、配图廉价,细节扣分严重。 试过无数工具后终于认准OK…

📅 2026/8/14 15:54:33
员工风险评估是什么?定义、目标与禁止标签化完整解

员工风险评估是什么?定义、目标与禁止标签化完整解

员工风险评估是围绕岗位职责和明确管理目标,对与员工相关的特定风险信息进行合规识别、分析与管理的过程。其核心不是全面调查个人,而是在合法、必要、可复核的范围内发现风险线索,避免将异常直接等同于违纪、犯罪或能力不足。直接答案&#…

📅 2026/9/10 7:09:03
TexTools-Blender终极指南:3个智能选择工具解决UV编辑难题

TexTools-Blender终极指南:3个智能选择工具解决UV编辑难题

TexTools-Blender终极指南:3个智能选择工具解决UV编辑难题 【免费下载链接】TexTools-Blender TexTools is a UV and Texture toolset created several years ago for Blender and Max by renderhjs. In this open repository, originally created by SavMartin, we…

📅 2026/8/7 17:29:04
MORE NEWS

更多资讯

📰

面向临床可信度的面部疼痛动作单元YOLO数据集

1. 项目概述:这不是又一个“拿来即用”的YOLO数据集,而是一套专为疼痛评估建模打磨的医疗视觉基准你有没有遇到过这样的情况:模型在公开数据集上mAP跑得飞起,一放到真实临床场景里,连患者皱眉和自然闭眼都分不清&#…

📰

Jev 能否玩 Overcooked?胡闹厨房兼容性评估与实操调优指南

1. 这个标题到底在问什么第一次看到“Jev 能否玩 Overcooked?”这个标题,我脑子里蹦出来的第一个念头是:Jev 是谁?是某款设备?某个模拟器?还是某位主播的昵称?后来跟几个经常折腾游戏的朋友聊了…

📰

云游戏产业报告拆解:从40.6亿市场到2.5亿月活的数据分析路径

简介:这份《全球云游戏产业深度观察及趋势研判研究报告(2022年)》由中国信通院泰尔终端实验室与IDC联合出品,面向云游戏从业者、投资研究者及关注5G应用与元宇宙方向的技术人员,帮助读者系统把握全球及中国云游戏的市场…

📰

ZCode开源事件:AI编程工具的信任重构与离线实践

1. 项目概述:一场发生在开发者社区的“静默地震” ZCode 这个名字,最近在 GitHub、Gitee 和国内技术论坛上反复刷屏,但不是因为新功能发布,而是因为一次被用户称为“静默上传”的操作——某天凌晨,大量用户发现本地项目…

📰

CNN人脸口罩二分类实战:从训练到树莓派边缘部署

1. 这不是“又一个CNN教程”,而是一次从零到部署的真实人脸口罩分检实战你搜“CNN 小白入门”,刷出来的大多是MNIST手写数字识别、CIFAR-10猫狗分类——它们像教科书里的标准例题,干净、规整、数据集已经切好、标签已经对齐、连loss下降曲线都…

📰

SpringBoot3+Vue3在线求职系统毕业设计:从零基础到答辩通关全攻略

每年二月底到四月初,总有一批同学火急火燎地来找我,手里攥着同一个题目:SpringBoot3 Vue3在线求职系统。多数人慌的不是题目本身,而是“零基础”三个字。我做完这套前后端分离的在线求职系统之后,最大的感受是&#x…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬