当前位置: 首页 > news >正文

【鸿蒙HarmonyOS NEXT】List组件的使用

【鸿蒙HarmonyOS NEXT】List组件的使用

  • 一、环境说明
  • 二、List组件及其使用
  • 三、示例代码如下

一、环境说明

  1. DevEco Studio 版本:
    DevEco Studio NEXT Developer Beta5
    Build #DS-233.14475.28.36.503700
    Build Version: 5.0.3.700, built on August 19, 2024
    Runtime version: 17.0.10+1-b1087.17 amd64
    VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o.
    Windows 11.0
    GC: G1 Young Generation, G1 Old Generation
    Memory: 3992M
    Cores: 16
    Registry:idea.plugins.compatible.build=IC-233.14475.28
    
  2. API版本:11和12,以12为主
    在这里插入图片描述

二、List组件及其使用

List是很常用的滚动类容器组件,一般和子组件ListItem一起使用,List列表中的每一个列表项对应一个ListItem组件。List组件通常需要搭配如ForEach组件对ListItem组件进行循环渲染。List组件里面的列表项默认是按垂直方向排列的,如果您想让列表沿水平方向排列,您可以将List组件的listDirection属性设置为Axis.Horizontal。常见的用法和效果如下所示:

  • List默认列表项布局为垂直方向,效果如下图所示:
    在这里插入图片描述

  • List的列表项水平方向布局,效果如下截图所示:

    .listDirection(Axis.Horizontal)
    

    在这里插入图片描述

  • 设置列表分割线,关键代码及效果如下图所示:
    List组件子组件ListItem之间默认是没有分割线的,部分场景子组件ListItem间需要设置分割线,这时候您可以使用List组件的divider属性。divider属性包含四个参数:
    关键代码

      .divider({strokeWidth:5,color:Color.Red,startMargin:10,endMargin:10})
    

    在这里插入图片描述

  • List滚动事件监听
    List组件提供了一系列事件方法用来监听列表的滚动,您可以根据需要,监听这些事件来做一些操作:

    • onScroll:列表滑动时触发,返回值scrollOffset为滑动偏移量,scrollState为当前滑动状态。
    • onScrollIndex:列表滑动时触发,返回值分别为滑动起始位置索引值与滑动结束位置索引值。
    • onReachStart:列表到达起始位置时触发。
    • onReachEnd:列表到底末尾位置时触发。
    • onScrollStop:列表滑动停止时触发。

三、示例代码如下

  1. 新建ListComponentPage.ets,添加如下代码:
    @Entry
    @Component
    struct ListComponentPage {private arr: number[] = [0,1,2,3,4,5,6,7,8,9]build() {Column() {List({space: 10}){ForEach(this.arr,(item:number)=> {ListItem(){Text(`${item}`).width('100%').height(100).fontSize(20).fontColor(Color.White).textAlign(TextAlign.Center).borderRadius(10).backgroundColor(0x007DFF)}})}// 分割线.divider({strokeWidth:5,color:Color.Red,startMargin:10,endMargin:10})// 设置成水平方向// .listDirection(Axis.Horizontal)// 滑动事件.onScrollIndex((firstIndex: number, lastIndex: number) => {console.info('滑动起始位置索引值' + firstIndex)console.info('滑动结束位置索引值' + lastIndex)}).onDidScroll((scrollOffset: number, scrollState: ScrollState) => {console.info('滑动偏移量' + scrollOffset)console.info('当前滑动状态' + scrollState)}).onReachStart(() => {console.info('列表起始位置到达')}).onReachEnd(() => {console.info('列表末尾位置到达')}).onScrollStop(() => {console.info('列表滑动停止')})}.padding(12).height('100%').backgroundColor(0xF1F3F5)}
    }
    
  2. 运行查看效果:
    在这里插入图片描述

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Spring 源码解读:实现Spring容器的启动流程
  • SAP B1 三大基本表单标准功能介绍-物料主数据(下)
  • 嵌入式软件开发学习三:中断
  • 【从问题中去学习k8s】k8s中的常见面试题(夯实理论基础)(二十一)
  • VMware安装windows虚拟机详细过程
  • HTTP 之 Web Sockets 安全策略(十)
  • 大数据-114 Flink DataStreamAPI 程序输入源 自定义输入源 Rich并行源 RichParallelSourceFunction
  • 国际化产品经理的挑战与机遇:跨文化产品管理的探索
  • 大数据新视界--大数据大厂之MySQL 数据库课程设计:数据安全深度剖析与未来展望
  • CentOS全面停服,国产化提速,央国企信创即时通讯/协同门户如何选型?
  • 开源模型应用落地-LangChain高阶-记忆组件-ConversationTokenBufferMemory正确使用(七)
  • 深度学习-OpenCv的运用(4)
  • 群论 (笔记)
  • uniapp常用标签
  • MATLAB 中的 reshape 函数
  • Angular 2 DI - IoC DI - 1
  • CoolViewPager:即刻刷新,自定义边缘效果颜色,双向自动循环,内置垂直切换效果,想要的都在这里...
  • Docker 笔记(2):Dockerfile
  • Elasticsearch 参考指南(升级前重新索引)
  • express + mock 让前后台并行开发
  • LeetCode541. Reverse String II -- 按步长反转字符串
  • MySQL数据库运维之数据恢复
  • python大佬养成计划----difflib模块
  • RxJS 实现摩斯密码(Morse) 【内附脑图】
  • 不上全站https的网站你们就等着被恶心死吧
  • 从零开始的无人驾驶 1
  • 服务器之间,相同帐号,实现免密钥登录
  • 构建工具 - 收藏集 - 掘金
  • 关键词挖掘技术哪家强(一)基于node.js技术开发一个关键字查询工具
  • 解析 Webpack中import、require、按需加载的执行过程
  • 力扣(LeetCode)965
  • 如何解决微信端直接跳WAP端
  • 说说我为什么看好Spring Cloud Alibaba
  • ######## golang各章节终篇索引 ########
  • #《AI中文版》V3 第 1 章 概述
  • #includecmath
  • #Z2294. 打印树的直径
  • #前后端分离# 头条发布系统
  • (09)Hive——CTE 公共表达式
  • (2024最新)CentOS 7上在线安装MySQL 5.7|喂饭级教程
  • (9)YOLO-Pose:使用对象关键点相似性损失增强多人姿态估计的增强版YOLO
  • (C++)栈的链式存储结构(出栈、入栈、判空、遍历、销毁)(数据结构与算法)
  • (Charles)如何抓取手机http的报文
  • (C语言)二分查找 超详细
  • (poj1.2.1)1970(筛选法模拟)
  • (pojstep1.1.2)2654(直叙式模拟)
  • (纯JS)图片裁剪
  • (二)Pytorch快速搭建神经网络模型实现气温预测回归(代码+详细注解)
  • (附源码)计算机毕业设计SSM保险客户管理系统
  • (六)DockerCompose安装与配置
  • (每日持续更新)jdk api之StringBufferInputStream基础、应用、实战
  • (五)关系数据库标准语言SQL
  • (一)基于IDEA的JAVA基础10
  • (转)全文检索技术学习(三)——Lucene支持中文分词
  • (转)为C# Windows服务添加安装程序