HarmonyOS列表组件

List组件的使用

import router from '@ohos.router'

@Entry
@Component
struct Index {
  private arr: number[] = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

  build() {
    Row() {
      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)
                .onClick(() => {
                  if (item === 0) {
                    //跳转到GridPage页面
                    router.push({
                      url: 'pages/GridPage'
                    })
                  }
                })
            }
          }, item => item)
        }
        //strokeWidth: 分割线的线宽。
        //color: 分割线的颜色。
        //startMargin:分割线距离列表侧边起始端的距离。
        //endMargin: 分割线距离列表侧边结束端的距离。
        // .divider({
        //   strokeWidth: 1,
        //   color: Color.Gray,
        //   startMargin: 10,
        //   endMargin: 10
        // })
        //Vertical(默认值):子组件ListItem在List容器组件中呈纵向排列。
        //子组件ListItem在List容器组件中呈横向排列。
        .listDirection(Axis.Vertical)
      }
      .padding(12)
      .height('100%')
      .backgroundColor(0xF1F3F5)
    }
    .height('100%')
  }
}

List下用ForEach循环数据,列表子项用ListItem组件,组件中再设置布局。

divider属性设置列表分割线,listDirection属性设置列表是横向排列还是纵向排列(默认纵向)。

Grid组件的使用

@Entry
@Component
struct GridPage {
  // 定义一个数组
  private arr: string[] = new Array(50)
    .fill('')
    .map((_, index) => `数据 ${index + 1}`);

  build() {
    Column() {
      Grid() {
        ForEach(this.arr, (item: string) => {
          GridItem() {
            Text(item)
              .fontSize(16)
              .fontColor(Color.White)
              .backgroundColor(0x007DFF)
              .width('100%')
              .height(80)
              .textAlign(TextAlign.Center)
              .borderRadius(10)
          }
        }, item => item)
      }
      //指定当前网格布局中的列数(数字代表列的权重)
      .columnsTemplate('2fr 3fr 2fr 3fr')
      //设置当前网格布局中的行数(数字代表行的权重)
      // .rowsTemplate('1fr 1fr 2fr 1fr')
      //设置列之间的间距
      .columnsGap(10)
      //设置行之间的距离
      .rowsGap(10)
      .height('100%')
    }
    .width('100%')
    .padding(10)
  }
}

GridItem设置子项,Grid下使用columnsTemplate属性指定当前网格布局中的列数。

rowsTemplate属性设置行数,数字代表给每行或每列设置占比的权重。

columnsGap属性设置列之间的间距,rowsGap属性设置行之间的距离。

如果行和列数同时设置只会显示设置行列内的数据,其他数据不会显示,并且只能显示在一屏内,不支持滑动,所以一般行数和列数只设置一个。

新建页面记得在config.json文件下的pages中添加,不然不会跳转。我这里创建项目用的API8,API9添加文件稍微有点差异。用最新API9的话运行到API8的远程设备会报错,所以这里创建项目选择了API和SDK都用了8.

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

大语言模型对齐技术 最新论文及源码合集(外部对齐、内部对齐、可解释性)

大语言模型对齐(Large Language Model Alignment)是利用大规模预训练语言模型来理解它们内部的语义表示和计算过程的研究领域。主要目的是避免大语言模型可见的或可预见的风险,比如固有存在的幻觉问题、生成不符合人类期望的文本、容易被用来执行恶意行为等。 从必…

账户权限控制

1.首先配置一个单群组4节点的链 1.1创建操作目录 cd ~ && mkdir -p fisco && cd fisco 1.2下载国内脚本 curl -#LO https://osp-1257653870.cos.ap-guangzhou.myqcloud.com/FISCO-BCOS/FISCO-BCOS/releases/v2.9.1/build_chain.sh && chmod ux bu…

MobaXterm使用VNC远程显示和控制ubuntu桌面

目录 1 在ubuntu中安装vnc 2 设置ubuntu远程连接 3 MobaXterm中连接ubuntu的vnc 1 在ubuntu中安装vnc 参考:Ubuntu18.04~Ubuntu22.04安装并配置VNC_ubuntu安装vnc-CSDN博客 大体流程就是在ubuntu中安装vnc,设置密码,然后配置服务&#x…

万物皆可“云” 从杭州云栖大会看数智生活的未来

文章目录 前言一、云栖渐进:一个科技论坛的变迁与互联网历史互联网创新创业飞天进化飞天智能驱动数字中国 二、2023云栖大会:云计算人工智能 玩出科技跨界新花样大会亮点重磅嘉宾热门展览算力馆人工智能馆产业创新馆 总结 前言 10月31日,202…

网络编程 - HTTP协议

目录 HTTP协议格式 一,请求格式 1.1 URL的基本格式 1.2 方法(method) 1.3 请求头header 二,响应格式 2.1 状态码 HTTP协议格式 HTTP协议与之前讲的TCP/IP协议不同,HTTP协议要分为两个部分——请求和响应,也就是一种"一…

路由器基础(九):防火墙基础

防火墙 (Fire Wall) 是网络关联的重要设备,用于控制网络之间的通信。外部网络用户的访问必须先经过安全策略过滤,而内部网络用户对外部网络的访问则无须过滤。现在的防火墙还具有隔离网络、提供代理服务、流量控制等功能。 一、三种防火墙技术 常见的…

云智慧联合北航提出智能运维(AIOps)大语言模型及评测基准

随着各行业数字化转型需求的不断提高,人工智能、云计算、大数据等新技术的应用已不仅仅是一个趋势。各行业企业和组织纷纷投入大量资源,以满足日益挑剔的市场需求,追求可持续性和竞争力,这也让运维行业迎来了前所未有的挑战和机遇…

Git Rebase 优化项目历史

在软件开发过程中,版本控制是必不可少的一环。Git作为当前最流行的版本控制系统,为开发者提供了强大的工具来管理和维护代码历史。git rebase是其中一个高级特性,它可以用来重新整理提交历史,使之更加清晰和线性。本文将详细介绍g…

FFmpeg——使用Canvas录制视频尚存问题的解决方案

个人简介 👀个人主页: 前端杂货铺 🙋‍♂️学习方向: 主攻前端方向,正逐渐往全干发展 📃个人状态: 研发工程师,现效力于中国工业软件事业 🚀人生格言: 积跬步…

creating server tcp listening socket 127.0.0.1:6379: bind No error

window下启动redis服务报错: creating server tcp listening socket 127.0.0.1:6379: bind No error 解决方案如下按顺序输入如下命令即可连接成功 redis-cli.exeshutdownexit运行:redis-server.exe redis.windows.conf shutdown出现以下错误&#xff…

Type-C接口详解

USB接口发展史 USB接口历经Type-A→Type-B→Type-C五次大的更新换代;目前Type-A Standard作为标准USB接口形式,仍然在大范围应用,而Micro-A以及Type-B系列已经慢慢谈出人们的视野,逐渐被新型的Type-C代替。 Type-C接口 24PIN Typ…

路由器基础(十一):ACL 配置

访问控制列表 (Access Control List,ACL) 是目前使用最多的访问控制实现技术。访问控制列表是路由器接口的指令列表,用来控制端口进出的数据包。ACL适用于所有的被路由协议,如IP、IPX、AppleTalk 等。访问控制列表可以分为基本访问控制列表和高级访问控制…

Redis之哨兵模式

文章目录 前言一、主从复制1.概述2.作用3.模拟实践搭建场景模拟实践 二、哨兵模式1.概述2.配置使用3.优缺点4.sentinel.conf完整配置 总结 前言 从主从复制到哨兵模式。 一、主从复制 1.概述 主从复制,是指将一台 Redis 服务器的数据,复制到其他的 Red…

UE5——源码阅读——1

UE启动 hInInstance :项目实例 hPrevInstance:项目上一个实例 pCmdLine:参数 nCmdShow:窗口显示 TRACE_BOOKMARK(TEXT(“WinMain.Enter”));:UE用来追踪记录的函数,用于标记应用程序在执行过程中一些特定的…

Git 使用

Git 使用 目录 Git 使用一、命令行操作0. 配置用户名邮箱1. 初始化一个新的 Git 仓库2. 从远程仓库克隆一个仓库3. 添加文件到暂存区4. 提交更改到本地仓库5. 拉取/推送代码6. 分区操作​7. 其他查看操作8.基本操作流程 二、idea/pycharm操作1、 集成git2、 idea添加项目3、 fe…

网络工程师进阶课:华为HCIP认证课程介绍

微思网络HCIP VIP试听课程:DHCP协议原理与配置https://www.bilibili.com/video/BV1cy4y1J7yg/?spm_id_from333.999.0.0 【赠送】IT技术视频教程,白拿不谢!思科、华为、红帽、数据库、云计算等等 https://xmws-it.blog.csdn.net/article/det…

2.2整式的加减(第1课时)——合并同类项教学及作业设计

【学习目标】 1.理解同类项的概念,并能正确辨别同类项. 2.理解合并同类项的依据是乘法分配律,掌握合并同类项的方法. 知识点归纳: ★合并同类项后,所得的项的系数是___________…

docker部署elk

目录 前言 一、创建程序工作路径 二、创建私有网络 三、部署elasticsearch 1.先搜速后下载 2.创建一个基础的容器(此步骤是为了拷贝容器里的文件) 3.拷贝文件到宿主机 3.1进入容器 3.2拷贝并授权 3.3删除基础容器 4.创建容器 5.访问9200测试 …

【java学习—十三】处理流之三:标准输入输出流(3)

文章目录 1. 相关概念2. 举例与练习2.1. 举例2.2. 练习 1. 相关概念 System.in 和 System.out 分别代表了系统标准的输入和输出设备,默认输入设备是键盘,输出设备是显示器。     System.in 的类型是 InputStream     System.out 的类型是 PrintS…