鸿蒙开发系列教程(二十二)--List 列表操作(1)

news2024/11/26 13:35:43

列表是容器,当列表项达到一定数量,内容超过屏幕大小时,可以自动提供滚动功能。

用于呈现同类数据类型或数据类型集,例如图片和文本

List、ListItemGroup、ListItem关系
在这里插入图片描述

列表方向

1、概念

列表的主轴方向是指子组件列的排列方向,也是列表的滚动方向。

垂直于主轴的轴称为交叉轴,其方向与主轴方向相互垂直。

在这里插入图片描述

2、设置主轴方向

List组件主轴默认是垂直方向,listDirection默认为Axis.Vertical

List的listDirection属性设置为Axis.Horizontal水平方向

List() {

}
.listDirection(Axis.Horizontal)

3、设置交叉轴布局

lanes属性用于确定交叉轴排列的列表项数量,在不同尺寸的设备自适应构建不同行数或列数的列表。

多列与多行
在这里插入图片描述
lanes属性的取值类型是number | [LengthConstrain]
在这里插入图片描述
垂直列表,lanes属性为2,构建一个两列的垂直列表,lanes的默认值为1,垂直列表的列数是1。

List() {

}.lanes(2)

当其取值为LengthConstrain类型时,表示会根据LengthConstrain与List组件的尺寸自适应决定行或列数。

List() {

}.lanes({ minLength: 200, maxLength: 300 })

  • 当List组件宽度为300vp时,由于minLength为200vp,此时列表为一列。
  • 当List组件宽度变化至400vp时,符合两倍的minLength,则此时列表自适应为两列。

alignListItem设置子组件在交叉轴方向的对齐方式。

垂直列表,当alignListItem属性设置为ListItemAlign.Center表示列表项在水平方向上居中对齐。

alignListItem的默认值是ListItemAlign.Start,即列表项在列表交叉轴方向上默认按首部对齐。

List() {  
...
}
.alignListItem(ListItemAlign.Center)

在这里插入图片描述

列表数据

1、简单数据**

 @Component
struct CityList {
  build() {
    List() {
      ListItem() {
        Text('哈尔滨').fontSize(24)
      }
      ListItem() {
        Text('海南').fontSize(24)
      }

      ListItem() {
        Text('北京').fontSize(24)
      }
}
.backgroundColor('#FFF1F3F5')
.alignListItem(ListItemAlign.Center)
 }
}

2、图标文本数据

@Entry
@Component
struct Test03 {

  build() {
    Column() {

      List() {
        ListItem() {
          Row() {
            Image($r('app.media.m1'))
              .width(40)
              .height(40)
              .margin(10)

            Text('摩天轮')
              .fontSize(20)
          }
        }

        ListItem() {
          Row() {
            Image($r('app.media.m2'))
              .width(40)
              .height(40)
              .margin(10)

            Text('大城堡')
              .fontSize(20)
          }
        }
      }
    }.height('100%').width('100%')
  }
}

在这里插入图片描述

3、迭代数据

class Contact {
  name: string;
  icon: Resource;

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

@Entry
@Component
struct SimpleContacts {
  private contacts:Array<Contact>= [
    new Contact('aa', $r("app.media.s1")),
    new Contact('bb', $r("app.media.s2")),
    new Contact('cc', $r("app.media.s3")),
    new Contact('dd', $r("app.media.s4")),
  ]

  build() {

    List({ space: 20, initialIndex: 0 }) {
      ForEach(this.contacts, (item: Contact) => {

        ListItem() {
          Row() {

            Image(item.icon)
              .width(100)
              .height(100)
              .margin(10)
            Text("k--"+item.name).fontSize(20)
          }
          .width('100%')
          .justifyContent(FlexAlign.Start)
        }

      }, item => item.name)
    }
    .width('100%')
    .height('100%')
    .border({"width":"5","color":"red"})
  }
}

在这里插入图片描述

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

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

相关文章

【数据结构】无向图创建邻接表以及深度遍历、广度遍历(C语言版)

数据结构——无向图创建邻接表以及深度遍历、广度遍历 一、邻接表概念二、邻接表实现 &#xff08;1&#xff09;准备前提——结构体定义&#xff08;2&#xff09;创建边链表&#xff08;3&#xff09;打印边链表&#xff08;4&#xff09;深度优先遍历&#xff08;5&#xff…

前端可能需要的一些安装

Node.js Node.js 官网 Node.js 中文网 Node.js is an open-source, cross-platform JavaScript runtime environment. Node.js是一个开源、跨平台的JavaScript运行时环境。Recommended for most users 推荐大多数用户使用哔哩哔哩安装视频 安装 node.js 的时候&#xff0c;会…

安卓TextView 拖动命名

需求&#xff1a;该布局文件使用线性布局来排列三个文本视图和一个按钮&#xff0c;分别用于显示两个动物名称以及占位文本视图。在占位文本视图中&#xff0c;我们为其设置了背景和居中显示样式&#xff0c;并用其作为接收拖放操作的目标 效果图&#xff1b; 实现代码 第一布…

如何解决缓存和数据库的数据不一致问题

数据不一致问题是操作数据库和操作缓存值的过程中&#xff0c;其中一个操作失败的情况。实际上&#xff0c;即使这两个操作第一次执行时都没有失败&#xff0c;当有大量并发请求时&#xff0c;应用还是有可能读到不一致的数据。 如何更新缓存 更新缓存的步骤就两步&#xff0…

【C++】---类和对象(中)默认成员函数 和 操作符重载

前言&#xff1a; 假如一个类中既没有成员变量也没有成员函数&#xff0c;那么这个类就是空类&#xff0c;空类并不是什么都没有&#xff0c;因为所有类都会生成如下6个默认成员函数&#xff1a; 一、构造函数 1、构造函数的定义及其特性 对于日期类对象&#xff0c;我们可…

C语言---指针进阶

1.字符指针 int main() {char str1[] "hello world";char str2[] "hello world";const char* str3 "hello world.";const char* str4 "hello world.";if (str3 str4){//常量字符串在内存里面是无法修改的&#xff0c;所以没必要…

数据检索:倒排索引加速、top-k和k最邻近

之前在https://www.yuque.com/treblez/qksu6c/wbaggl2t24wxwqb8?singleDoc# 《Elasticsearch: 非结构化的数据搜索》我们看了ES的设计&#xff0c;主要侧重于它分布式的设计以及LSM-Tree&#xff0c;今天我们来关注算法部分&#xff1a;如何进行检索算法的设计以及如何加速倒排…

RapidMiner数据挖掘2 —— 初识RapidMiner

本节由一系列练习与问题组成&#xff0c;这些练习与问题有助于理解多个基本概念。它侧重于各种特定步骤&#xff0c;以进行直接的探索性数据分析。因此&#xff0c;其主要目标是测试一些检查初步数据特征的方法。大多数练习都是关于图表技术&#xff0c;通常用于数据挖掘。 为此…

嵌入式系统中常见传感器介绍

&#xff08;本文为简单介绍&#xff0c;内容取材网络&#xff09; 传感器是嵌入式系统接入外部环境信息的重要接口,根据测量物理量的不同,传感器可以分为温度传感器、湿度传感器、压力传感器、加速度传感器等多种类型。选择合适的传感器,对于实现嵌入式系统的控制和互动功能至…

Java微服务架构的选择:Spring Cloud、Kubernetes还是Kubernetes + Istio?

微服务架构已经成为现代软件开发的趋势&#xff0c;其可以带来高度可伸缩性、松耦合性和团队自治性等优势。 在Java开发领域中&#xff0c;选择适合的微服务架构是非常关键的决策&#xff0c;本文将探讨Spring Cloud、Kubernetes和KubernetesIstio这三个架构选择的优势和劣势。…

MIT-BEVFusion系列八--onnx导出1 综述及相机网络导出

目录 综述export-camera.py加载模型加载数据生成需要导出成 onnx 的模块Backbone 模块VTransform 模块 生成 onnx使用 pytorch 原生的伪量化计算方法导出 camera.backbone.onnx导出 camera.vtransform.onnx 综述 bevfusion的各个部分的实现有着鲜明的特点&#xff0c;并且相互…

BUGKU-WEB 本地管理员

题目描述 题目截图如下&#xff1a; 进入场景看看&#xff1a; 解题思路 老规矩&#xff0c;先看源码发现了&#xff0c;那就要base一下了测试账号密码绕过IP限制 相关工具 F12插件modHeader 或者 直接使用Burp Suit对请求进行修改 解题步骤 先输入admin测试一下 显示…

vue3 中使用pinia 数据状态管理(在Taro 京东移动端框架中的使用)

1.pinia 介绍 pinia 是 Vue 的存储库&#xff0c;它允许您跨组件/页面共享状态。就是和vuex一样的实现数据共享。 依据Pinia官方文档&#xff0c;Pinia是2019年由vue.js官方成员重新设计的新一代状态管理器&#xff0c;更替Vuex4成为Vuex5。 Pinia 目前也已经是 vue 官方正式的…

蓝桥杯2023年第十四届省赛真题

题目 题目描述&#xff1a; 程序猿圈子里正在流行一种很新的简写方法&#xff1a;对于一个字符串&#xff0c;只保留首尾字符&#xff0c;将首尾字符之间的所有字符用这部分的长度代替。例如 internation-alization 简写成 i18n&#xff0c;Kubernetes &#xff08;注意连字符不…

Javaweb之SpringBootWeb案例之AOP核心概念的详细解析

2.3 AOP核心概念 通过SpringAOP的快速入门&#xff0c;感受了一下AOP面向切面编程的开发方式。下面我们再来学习AOP当中涉及到的一些核心概念。 1. 连接点&#xff1a;JoinPoint&#xff0c;可以被AOP控制的方法&#xff08;暗含方法执行时的相关信息&#xff09; 连接点指的…

2.8学习总结

2.8 1.二叉树的前序遍历 2.二叉树的中序遍历 3.二叉树的后序遍历 4.⼆叉树的层序遍历 5.⼆叉树的层序遍历2 6.二叉树的右视图 7.二叉树的层平均值 8.N叉树的层序遍历 9.每个树行中找最大值 10.填充每个节点的下一个右侧节点指针 11.填充每个节点的下一个右侧节点指针2 12.生命之…

C/C++中的max函数如何使用?哪个头文件?多个数字可以用max吗?

在C中&#xff0c;max函数是一个非常实用的函数&#xff0c;它用于比较两个或更多数值并返回其中的最大值。这个函数在头文件中定义。 下面是如何在C中使用max函数的一些示例&#xff1a; #include <iostream> #include <algorithm> // 引入algorithm头文件以使…

【从Python基础到深度学习】 8. VIM两种状态

一、安装 sudo apt install vim 二、VIM两种模式 - 命令状态/编辑状态 1.1 进入/退出VIM 进入VIM vim 退出vim :q <enter> 2.2 根目录下添加配置文件 window下创建vimrc类型文件内容如下&#xff1a; set nu set cursorline set hlsearch set tabstop4 使用Wins…

HTTP协议-响应报文详解(Respond)

目录 前言&#xff1a; 1.Respond报文 1.1报文格式 1.2格式图解 2.状态行&#xff08;首行&#xff09; 2.1状态码/状态码解释 &#xff08;1&#xff09;200 OK &#xff08;2&#xff09;404 Not Found &#xff08;3&#xff09;403 Forbidden &#xff08;4&#…

【LeetCode: 107. 二叉树的层序遍历 II + BFS】

&#x1f680; 算法题 &#x1f680; &#x1f332; 算法刷题专栏 | 面试必备算法 | 面试高频算法 &#x1f340; &#x1f332; 越难的东西,越要努力坚持&#xff0c;因为它具有很高的价值&#xff0c;算法就是这样✨ &#x1f332; 作者简介&#xff1a;硕风和炜&#xff0c;…