探索arkui(2)--- 布局(列表)--- 1(列表数据的展示)

news/2024/7/21 12:00:30 标签: 鸿蒙, harmonyos, openharmony, ohpm

前端开发布局是指前端开发人员宣布他们开发的新网站或应用程序正式上线的活动。在前端开发布局中,开发人员通常会展示新网站或应用程序的设计、功能和用户体验,并向公众宣传新产品的特点和优势。前端开发布局通常是前端开发领域的重要事件,吸引了广泛的关注和关注。通过前端开发布局,开发人员可以推广他们的新产品,增加用户的关注和使用,并提高自己的品牌知名度。同时,前端开发布局也为用户提供了了解和体验新产品的机会,帮助他们更好地了解和使用新的网站或应用程序。鸿蒙开发亦是如此。

 列表

官网描述

列表是一种复杂的容器,当列表项达到一定数量,内容超过屏幕大小时,可以自动提供滚动功能。它适合用于呈现同类数据类型或数据类型集,例如图片和文本。在列表中显示数据集合是许多应用程序中的常见要求(如通讯录、音乐列表、购物清单等)。

使用列表可以轻松高效地显示结构化、可滚动的信息。通过在List组件中按垂直或者水平方向线性排列子组件ListItemGroup或ListItem,为列表中的行或列提供单个视图,或使用ForEach迭代一组行或列,或混合任意数量的单个视图和ForEach结构,构建一个列表。List组件支持使用条件渲染、循环渲染、懒加载等渲染控制方式生成子组件。

我的理解 

有点类似于只有一列的表格,超出屏幕自带滚动条

代码

import util from '@ohos.util';

class Contact {
  key: string = util.generateRandomUUID(true);
  name: string;
  icon: Resource;

  constructor(name: string, icon: Resource) {
    this.name = name;
    this.icon = icon;
  }
}

@Entry
@Component
struct ContactsList {
  @State selectedIndex: number = 0;

  @Builder itemHead(text: string) {
    // 列表分组的头部组件,对应联系人分组A、B等位置的组件
    Text(text)
      .fontSize(20)
      .backgroundColor('#fff1f3f5')
      .width('100%')
      .padding(5)
  }

  private contacts = [
    new Contact('小明', $r("app.media.app_icon")),
    new Contact('小红', $r("app.media.app_icon")),
    new Contact('小红', $r("app.media.app_icon")),
    new Contact('小红', $r("app.media.app_icon")),
    new Contact('小红', $r("app.media.app_icon")),
    new Contact('小红', $r("app.media.app_icon")),
    new Contact('小红', $r("app.media.app_icon")),
    new Contact('小红', $r("app.media.app_icon")),
    new Contact('小红', $r("app.media.app_icon")),
    new Contact('小红', $r("app.media.app_icon")),
    new Contact('小红', $r("app.media.app_icon")),
    new Contact('小红', $r("app.media.app_icon")),
    new Contact('小红', $r("app.media.app_icon")),
    new Contact('小红', $r("app.media.app_icon")),
    new Contact('小红', $r("app.media.app_icon")),
    new Contact('小红', $r("app.media.app_icon")),
    new Contact('小红', $r("app.media.app_icon")),
    new Contact('小红', $r("app.media.app_icon")),
    new Contact('小红', $r("app.media.app_icon")),
    new Contact('小红', $r("app.media.app_icon")),
    new Contact('小红', $r("app.media.app_icon")),
    new Contact('小红', $r("app.media.app_icon")),
    new Contact('小红', $r("app.media.app_icon")),
    new Contact('小红', $r("app.media.app_icon")),
    new Contact('小红', $r("app.media.app_icon")),
    new Contact('小红', $r("app.media.app_icon")),
  ]

  build() {
    Stack({ alignContent: Alignment.End }) {
      List() {
        // 循环渲染ListItemGroup,contactsGroups为多个分组联系人contacts和标题title的数据集合
        ForEach(this.contacts, (item: Contact) => {
          ListItem() {
            Row() {
              Image(item.icon)
                .width(40)
                .height(40)
                .margin(10)
              Text(item.name).fontSize(20)
            }
            .width('100%')
            .justifyContent(FlexAlign.Start)
          }
        }, item => item.key)
      }.onScrollIndex((firstIndex: number) => {
        this.selectedIndex = firstIndex
      }).divider({
        strokeWidth: 1,
        startMargin: 60,
        endMargin: 10,
        color: '#ffe9f0f0'
      }).scrollBar(BarState.Auto)
      .sticky(StickyStyle.Header)
    }
  }
}

效果


http://www.niftyadmin.cn/n/5186494.html

相关文章

Linux(1):开始

计算机组成概述 计算机:接受用户输入指令与数据,经由中央处理器的数学与逻辑单元处理后,以产生或存储有用的信息。 主要可以分为3个部分:输入单元、主机单元、输出单元。 中央处理器(Central Processing Unit, CPU&a…

Mybatis的Mapper接口传递多个参数的时候必须要加@Param注解吗?

答案是&#xff1a;不一定&#xff0c;取决于mybatis的版本、jdk的版本和javac的编译选项。 测试代码 Maven依赖&#xff1a; <dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId>…

Notepad++ 和正则表达式 只保留自己想要的内容

一、需求 如下文本&#xff0c;三段相同结构的数据&#xff0c;想要获取每段结构中‘重复的Ids ’后面的数字 2023-10-26 18:49:49 重复的Ids 26443,26575 要删除的Ids 4174,4199,4200,55502023-10-26 18:49:49 重复的Ids 26436,26443,26575 要删除的Ids 4166,4199,4200,5550…

体验文心一言“一镜流影”功能,实现短视频批量制作

我是卢松松&#xff0c;点点上面的头像&#xff0c;欢迎关注我哦&#xff01; 因为松松我最近在做短视频和带货嘛&#xff0c;而且研究并学习了一些技巧和方法。 而最近我看到了文心一言有了这个功能&#xff1a;一镜流影!感觉不错&#xff0c;未来批量做视频和内容一定要配合…

JVM虚拟机-虚拟机执行子系统-第6章 字节码指令

字节码指令 Java虚拟机的指令由一个字节长度的、代表着某种特定操作含义的数字&#xff08;称为操作码&#xff0c;Opcode&#xff09;以及跟随其后的零至多个代表此操作所需的参数&#xff08;称为操作数&#xff0c;Operand&#xff09;构成。 字节码与数据类型 在Java虚拟…

从零开始 通义千问大模型本地化到阿里云通义千问API调用

从零开始 通义千问大模型本地化到阿里云通义千问API调用 一、通义千问大模型介绍 何为“通义千问”&#xff1f; “通义千问大模型”是阿里云推出的一个超大规模的语言模型&#xff0c;具有强大的归纳和理解能力&#xff0c;可以处理各种自然语言处理任务&#xff0c;包括但…

2013年12月1日 Go生态洞察:Go 1.2版本发布

&#x1f337;&#x1f341; 博主猫头虎&#xff08;&#x1f405;&#x1f43e;&#xff09;带您 Go to New World✨&#x1f341; &#x1f984; 博客首页——&#x1f405;&#x1f43e;猫头虎的博客&#x1f390; &#x1f433; 《面试题大全专栏》 &#x1f995; 文章图文…

力扣labuladong——一刷day34

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、力扣297. 二叉树的序列化与反序列化二、力扣二叉树后序序列化三、力扣二叉树层序序列化与反序列化 要说序列化和反序列化&#xff0c;得先从 JSON 数据格式…