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

news2024/11/14 18:52:12

【鸿蒙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. 运行查看效果:
    在这里插入图片描述

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

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

相关文章

实战docker第二天——cuda11.8,pytorch基础环境docker打包

在容器化环境中打包CUDA和PyTorch基础环境,可以将所有相关的软件依赖和配置封装在一个Docker镜像中。这种方法确保了在不同环境中运行应用程序时的一致性和可移植性: Docker:提供了容器化技术,通过将应用程序及其所有依赖打包在一…

★ 算法OJ题 ★ 力扣209 - 长度最小的子数组

Ciallo&#xff5e;(∠・ω< )⌒☆ ~ 今天&#xff0c;简将和大家一起做一道滑动窗口算法题--长度最小的子数组~ 目录 一 题目 二 算法解析 解法⼀&#xff1a;暴力求解 解法二&#xff1a;滑动窗口 三 编写算法 一 题目 209. 长度最小的子数组 - 力扣&#xff08…

Python Mail:如何设置SMTP服务器发邮件?

Python Mail发送邮件的步骤&#xff1f;如何使用Python 发邮件&#xff1f; 在现代通信中&#xff0c;电子邮件仍然是不可或缺的一部分。Python Mail 提供了一种简单而强大的方式来通过 SMTP 服务器发送邮件。AokSend将详细介绍如何使用 Python Mail 库来设置和发送电子邮件。…

echart自适应tree树图,结构组织图模板

处理数据(代码中有处理数据逻辑&#xff0c;可忽略&#xff0c;因为后端返回的格式不匹配&#xff0c;需要自己处理) [{ name: ‘test1’, children: [{ name: ‘test2’ }] }] <template><div class"boxEchart"><div ref"echart" :style&…

9.3javaweb总结

1.axios交互 发送数据到后端。 alert(注册成功&#xff08;数据正在发送后端&#xff09;!);// 获取表单数据//const formData new URLSearchParams(new FormData(document.getElementById("register-form"))).toString();const form document.getElementById(&q…

深度学习——基于MTCNN算法实现人脸侦测

这里写目录标题 先看效果 MTCNN主体思想级联网络图像金字塔IOU算法iou 公式 nms 算法数据生成celeba 数据代码训练代码侦测代码总结 先看效果 MTCNN 从2016年&#xff0c;MTCNN算法出来之后&#xff0c;属实在工业上火了一把&#xff0c;最近尝试着把论文代码复现了一下。 主…

小企业仓库管理升级:WMS助力智能化转型

WMS 在小型企业中的推进优势与必要性 WMS 是数字化工厂中不可或缺的系统之一&#xff0c;它不仅在大型企业中发挥着重要作用&#xff0c;对于小型企业同样具有巨大价值。通过引入 WMS&#xff0c;小型企业可以显著提高仓储管理效率&#xff0c;降低运营成本&#xff0c;支持业务…

vllm源码解析(二):调度策略分析

五 vllm调度逻辑 前面分享的知识确实遗漏了许多细节&#xff0c;不过不影响我们接下来的讲解&#xff0c;我们在第一篇文章中已经详细讲解过三个队列用途&#xff0c;不熟悉的同学可以回看。 本章涉及到的流程图已上传github: https://github.com/yblir/packages/blob/main/v…

力扣-968监控二叉树(Java贪心详细题解)

题目链接&#xff1a;968. 监控二叉树 - 力扣&#xff08;LeetCode&#xff09; 前情提要&#xff1a; 本题是一道名副其实的hard题目&#xff0c;他考察二叉树和贪心的综合运用能力。 所以我们不仅要会贪心还要会二叉树的一些知识&#xff0c;如果没有写二叉树类型的题目&a…

实战项目-快速实战-springboot dataway

最后附项目源码, 开箱即用 访问地址 http://127.0.0.1:8101/interface-ui/#/ 效果图 具体怎么用, 大家还是看官网,中文文档 https://www.dataql.net/docs/dataway/ui/ui-list 项目结构 代码 DataWayApplication package com.zero.dataway;import net.hasor.spring.boot…

集合框架,List常用API,栈和队列初识

回顾 集合框架 两个重点——ArrayList和HashSet. Vector/ArraysList/LinkedList区别 VectorArraysListLinkedList底层实现数组数组链表线程安全安全不安全不安全增删效率较低较低高扩容*2*1.5-------- &#xff08;>>&#xff09;运算级最低&#xff0c;记得加括号。 常…

窖藏之秘:白酒在窖藏过程中经历了哪些变化?

在中华五千年的文明史中&#xff0c;白酒一直扮演着举足轻重的角色。它不仅是文人墨客笔下的灵感源泉&#xff0c;更是亲朋好友间传递情感的桥梁。在众多白酒品牌中&#xff0c;豪迈白酒&#xff08;HOMANLISM&#xff09;以其不同的酿造工艺和窖藏技艺&#xff0c;成为了酒中翘…

EasyExcel模板导出与公式计算(上)

目录 环境要求 功能预览 需求分析 源码跟踪 自定义数据处理器 ​总结 最近做项目时遇到这样一个需求&#xff0c;将数据库表的含有公式的信息导出为Excel文件并且需要计算其结果&#xff0c;由于上网查询资料后未能完美解决&#xff0c;故将此踩坑过程记录下来以供参考。…

Datawhale X 李宏毅苹果书 AI夏令营第五期 DL进阶方向 Task3笔记

Datawhale X 李宏毅苹果书 向李宏毅学深度学习&#xff08;进阶&#xff09; 是 Datawhale 2024 年 AI 夏令营第五期的学习活动&#xff08;“深度学习 进阶”方向&#xff09; 往期task1链接&#xff1a;深度学习进阶-Task1 往期task2链接&#xff1a;深度学习进阶-Task2 我做…

惠中科技RDS自清洁膜层:光伏领域的绿色革命

惠中科技RDS自清洁膜层&#xff1a;光伏领域的绿色革命 在全球能源转型和光伏产业蓬勃发展的背景下&#xff0c;光伏电站的运营维护面临着诸多挑战&#xff0c;其中灰尘污染问题尤为突出。灰尘的堆积不仅降低了光伏板的透光率&#xff0c;还直接影响了电站的发电效率和经济效益…

算法复盘——Leetcode hot100: 双指针算法

双指针算法 11. 盛最多水的容器 - 力扣&#xff08;LeetCode&#xff09; 优化解法&#xff1a;用 left 和 right 两个指针从两端向中心收缩&#xff0c;一边收缩一边计算 [left, right] 之间的矩形面积&#xff0c;取最大的面积值即是答案。 其实是优化区间选择 直接丢弃体…

51单片机-串口通信(单片机和PC互发数据)

作者&#xff1a;Whappy 时间&#xff1a;2024.9.3 关于串口的疑问&#xff1f; 根据我的代码是不是初始化完成串口之后&#xff0c;只要我们使用串口发送数据就会触发中断&#xff1f; &#xff08;在文章下面&#xff09; ChatGPT said: ChatGPT 是的&#xff0c;根据…

IDEA项目启动在不同端口的方法,服务多端口启动

前言 在本地测试分布式事务以及分布式锁的过程中&#xff0c;在IDEA中多端口启动服务&#xff0c;可以高效方便开展测试调试工作。 开启流程 1.打开Edit Configurations 2.选中要复制的服务&#xff0c;点击复制小图标 3.配置启动端口号&#xff0c;点击保存 --server.port1…

解密Docker核心:深入理解Docker基础架构

随着云计算技术的普及&#xff0c;Docker容器技术在现代应用开发和部署中占据了重要地位。要充分理解Docker的优势与运用&#xff0c;深入掌握其基础架构是关键。本文将深入探讨Docker的核心组成部分及其在容器化平台中的角色和作用。 一、Docker的基础架构概述 Docker的基础…

leetcode 2816.翻倍以链表形式表示的数字

1.题目要求: 给你一个 非空 链表的头节点 head &#xff0c;表示一个不含前导零的非负数整数。将链表 翻倍 后&#xff0c;返回头节点 head 。2.题目代码: /*** Definition for singly-linked list.* struct ListNode {* int val;* struct ListNode *next;* };*/ str…