鸿蒙布局List简介

鸿蒙布局List简介

  • List--常见的布局容器
  • List 创建方式
    • 创建方式一,通过Listitem
    • 创建方式二,通过ForEach和Listitem
    • 创建方式三,通过ListItemGroup

List–常见的布局容器

List是在app开发中最常见的一种布局方式,例如通讯录、新闻列表等。在鸿蒙应用中List布局使用也很普遍。

List 创建方式

创建方式一,通过Listitem

ListItem是List的子组件,List列表展示的内容需要通过ListItem承载才能展示。

      List({space: 10}){ // ListItem之间的间距ListItem(){Text('ListItem1').extendText()}ListItem(){Text('ListItem2').extendText()}ListItem(){Text('ListItem3').extendText()}ListItem(){Text('ListItem4').extendText()}ListItem(){Text('ListItem5').extendText()}ListItem(){Text('ListItem6').extendText()}}.margin(16)

在这里插入图片描述

这是最简单的创建方式,将需要展示的内容写在ListItem中。

创建方式二,通过ForEach和Listitem

在实际使用过程中,我们不会像 方式一 那样去创建列表;我们可以使用循环的方式去创建。

先声明一组数据

private arr = [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14]

将声明的这组数据通过ForEach的方式,渲染到屏幕上。

  @Builder listForeach() {List({space: 20,initialIndex: 0}){ForEach(this.arr,(item,idx)=>{ListItem(){Text('ListItem:' + item + '   idx:'+idx).extendText()}},(item,idx)=>{return item + idx})}.listDirection(Axis.Vertical) // 排列方向.divider({strokeWidth: 10, color: Color.Green}) // 每行之间的分界线.edgeEffect(EdgeEffect.Spring) // 滑动到边缘的效果.onScrollIndex((firstIndex: number, lastIndex: number) => {console.info('first' + firstIndex)console.info('last' + lastIndex)})}

在这里插入图片描述

针对上面使用到的一些方法做下说明;

1. List({space: 20,initialIndex: 0}) space:表示两个Listitem之间的间距,initialIndex代表从第0个ListItem处开始展示
2. listDirection(Axis.Vertical) // 排列方向
3. divider({strokeWidth: 10, color: Color.Green}) // 每行之间的分界线
4. edgeEffect(EdgeEffect.Spring) // 滑动到边缘的效果
5. onScrollIndex((firstIndex: number, lastIndex: number)=> {})  滚动位置监听

创建方式三,通过ListItemGroup

ListItemGroup表述分组.

还是先准备数据

private groupArr = ['Group1','Group2','Group3','Group4']
private groupDict = {'Group1':[0,1,2,3],'Group2':[4,5,6],'Group3':[7,8,9,10],'Group4':[11,12,13]}

将数据渲染到页面

  @Builder listGroup() {List({space: 20,initialIndex: 0}){ForEach(this.groupArr,(item,idx)=>{ListItemGroup({space: 6,header: this.header(item)}){ForEach(this.groupDict[item],(itemChild,idxChild)=>{ListItem(){Text('ListItem:' + itemChild + '   idx:'+idxChild).extendText()}})}.backgroundColor(Color.Grey)})}.sticky(StickyStyle.Header|StickyStyle.Footer) }@Builder header(title: string) {Text(title).fontColor(Color.Black).fontSize(20).fontWeight(FontWeight.Bold).textAlign(TextAlign.Center)// .align(Alignment.Center).width('100%')}

展示效果:
在这里插入图片描述

分组效果通过上面图片可展示出来。

ListItemGroup({space: 6,header: this.header(item)}) 中使用了space和header

space: 表示分组内,每个子ListItem之间的间距
header:表示分组的头部,这个需要自定义。与之对应的还有一个footer。

还是用了一个sticky(StickyStyle.Header|StickyStyle.Footer) 表示滚动过程中ListItemGroup的顶部或者底部会被固定。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/15173.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Wpf 使用 Prism 实战开发Day24

自定义询问窗口 当需要关闭系统或进行删除数据或进行其他操作的时候&#xff0c;需要询问用户是否要执行对应的操作。那么就需要一个弹窗来给用户进行提示。 一.添加自定义询问窗口视图 (MsgView.xaml) 1.首先&#xff0c;添加一个自定义询问窗口视图 (MsgView.xaml) <Use…

域内攻击 ----->约束非约束委派攻击

在域中&#xff0c;除了我们常见的横向移动以外&#xff0c;还有很多攻击&#xff0c;像什么kerberoasting&#xff0c;委派攻击&#xff0c;NTLMrelay啊...... 还有很多&#xff08;暂时只知道这些&#xff09; 以前在一篇公众号看到的一个笑话也荟萃了网安的一些攻击手法&am…

vscode终端运行pnpm,yarn不成功问题

vscode终端运行pnpm&#xff0c;yarn不成功问题 1.问题描述2.解决办法 1.问题描述 全局安装了pnpm后&#xff0c;cmd窗口执行pnpm -v可以查看版本信息&#xff0c;在项目目录可以执行操作&#xff0c;但是在vscode中无法执行并报错 2.解决办法 以管理员身份运行vscode打开vscod…

《拯救大学生课设不挂科第二期之Windows11下安装VC6.0(VC++6.0)与跑通Hello World C语言程序教程》【官方笔记】

背景与目标人群&#xff1a; 大学第一次学C语言的时候&#xff0c;大部分老师会选择VC6这个编辑器。 但由于很多人是新手&#xff0c;第一次上大学学C语言。 老师要求VC6.0&#xff08;VC6.0&#xff09;写C语言跑程序可能很多人还是第一次接触电脑。 需要安装VC6这个编辑器…

深入理解ECMAScript:JavaScript的规范与实践

引言 在当今的Web开发领域&#xff0c;JavaScript几乎无处不在。它不仅在客户端编程中占据主导地位&#xff0c;而且在服务器端&#xff08;Node.js&#xff09;和移动应用开发中也越来越受欢迎。然而&#xff0c;JavaScript的核心并非由单一的公司或组织控制&#xff0c;而是…

初识Java--开启我的Java学习之旅

目录 一、JAVA语言概述二、JAVA语言的重要性2.1语言使用广泛程度2.2工作领域2.3在校招岗位的需求2.4 java语言发展简史2.5Java语言特性 三、初识java的main方法四、运行java程序五、【面试题】JDK、JRE、JVM之间的关系&#xff1f; 一、JAVA语言概述 Java是一种优秀的程序设计…

【Apache Doris】周FAQ集锦:第 4 期

【Apache Doris】周FAQ集锦&#xff1a;第 4 期 SQL问题数据操作问题运维常见问题其它问题关于社区 欢迎查阅本周的 Apache Doris 社区 FAQ 栏目&#xff01; 在这个栏目中&#xff0c;每周将筛选社区反馈的热门问题和话题&#xff0c;重点回答并进行深入探讨。旨在为广大用户和…

Redis常见数据类型(6)-set, zset

目录 Set 命令小结 内部编码 使用场景 用户画像 其它 Zset有序集合 普通指令 zadd zcard zcount zrange zrevrange ​编辑 zrangebyscore zpopmax/zpopmin bzpopmax/bzpopmin zrank/zrevrank zscore zrem zremrangebyrank zremrangebyscore Set 命令小结 …

链栈的存储

单向链表在栈中的存储 typedef struct StackNode {SElemType data;struct StackNode* next; }StackNode, *LinkStack; LinkStack S; //链栈初始化 void InitStack(LinkStack& S) {S NULL;return OK; } //判断链栈是否为空 Status StackEmpty(LinkStack S) {if (S NU…

将具有传统IP的设计迁移到Vivado设计套件

将具有传统IP的设计迁移到Vivado设计套件 概述 AMD Vivado™设计套件允许您从CORE Generator™工具迁移IP设计。你可以 还可以将IP迁移到Vivado Design Suite的最新版本。 重要&#xff01;Vivado集成开发环境&#xff08;IDE&#xff09;要求IP、实例化和 端口名都是小写的。将…

Spring 模拟管理Web应用程序

MVC&#xff1a;Model View Controller 1&#xff09;controller&#xff1a;控制层&#xff08;Servlet是运行服务器端&#xff0c;处理请求响应java语言编写技术&#xff09; 2&#xff09;service&#xff1a;业务层&#xff08;事务&#xff0c;异常&#xff09; 3&#xf…

视频号小店的保证金是多少钱?2024最新收费标准,一篇了解!

哈喽~我是电商月月 现实社会&#xff0c;干什么都需要交钱&#xff0c;就连上班&#xff0c;路费也得掏钱 想要入驻视频号小店&#xff0c;在视频号里卖货赚钱&#xff0c;就要缴纳类目保证金 那到底要缴多少钱呢&#xff1f; 今天&#xff0c;月月就把最新的收费标准分享给…

轻松拿捏C语言——【字符串函数】的使用及模拟实现

&#x1f970;欢迎关注 轻松拿捏C语言系列&#xff0c;来和 小哇 一起进步&#xff01;✊ &#x1f389;创作不易&#xff0c;请多多支持&#x1f389; &#x1f308;感谢大家的阅读、点赞、收藏和关注&#x1f495; &#x1f339;如有问题&#xff0c;欢迎指正 感谢 目录 一、…

mysql 拼接两个字段的值 使用CONCAT的函数

CONCAT()函数拼接两个不用字段的值&#xff0c;最后在一个字段里面显示出来&#xff0c;具体实例如下&#xff1a; 下面这个案例就行把SSSHENGBH、SSSBH、SSXBH、SSXZBH字段值拼接到一个字段里面进行显示 select CONCAT(SSSHENGBH,SSSBH,SSXBH,SSXZBH) FROM BLT_JBXXJLB

3D 生成重建013-ProlificDreamer将SDS拓展到VSD算法进行高质量的3D生成

3D 生成重建013-ProlificDreamer将SDS拓展到VSD算法进行高质量的3D生成 文章目录 0论文工作1论文方法2效果 0论文工作 **分数蒸馏采样&#xff08;SDS&#xff09;**通过提取预先训练好的大规模文本到图像扩散模型&#xff0c;在文本到3d生成方面显示出了巨大的前景&#xff0…

Windows VS2022 C语言使用 sqlite3.dll 访问 SQLite数据库

今天接到一个学生C语言访问SQLite数据库的的需求: 第一步,SQLite Download Page下载 sqlite3.dll 库 下载解压,发现只有两个文件: 于是使用x64 Native Tools Command Prompt 终端 生成 sqlite3.lib 和 sqlite3.exp文件 LIB -def:sqlite3.def -out:sqlite3.lib -machin…

广告圈策划大师课:活动策划到品牌企划的深度解析

对于刚接触营销策划的新人来说&#xff0c;在这个知识密集型行业里生存&#xff0c;要学习非常多各种意思相近的概念&#xff0c;常常让人感到头疼&#xff0c;难以区分。 这里对这些策划概念进行深入解析&#xff0c;帮助您轻松理清各自的含义和区别。 1. 活动策划&#xff…

C++ 字符串处理-将字符串转成大写或小写

1. 关键词2. strutil.h3. strutil.cpp4. 测试代码5. 运行结果6. 源码地址 1. 关键词 C 字符串处理 将字符串转成大写或小写 跨平台 2. strutil.h #include <string> namespace cutl {/*** brief Convert a string to upper case.** param str the string to be conve…

微信小程序自定义头部

1.在对应界面的json文件&#xff0c;将navigationStyle属性设置为“custom” "navigationStyle":"custom" 2. 状态栏的高度可以通过 wx.getSystemInfo() 获取。 胶囊按钮的信息可以通过 wx.getMenuButtonBoundingClientRect() 获取。 导航栏高度状态栏…