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

【ArkUI】使用 Grid/GridItem 组件构建网格显示

一、概述

  • 网格布局是由“行”和“列”分割的单元格所组成,通过指定“项目”所在的单元格做出各种各样的布局。网格布局具有较强的页面均分能力,子组件占比控制能力,是一种重要自适应布局,其使用场景有九宫格图片展示、日历、计算器等。
  • ArkUI提供了Grid 容器组件和子组件 GridItem,用于构建网格布局。Grid 用于设置网格布局相关参数,GridItem 定义子组件相关特征。Grid 组件支持使用条件渲染、循环渲染、懒加载等方式生成子组件。
  • Grid 组件为网格容器,其中容器内各条目对应一个 GridItem 组件。Grid 的子组件必须是 GridItem 组件。

二、网格布局

  • 网格布局是一种二维布局。Grid 组件支持自定义行列数和每行每列尺寸占比、设置子组件横跨几行或者几列,同时提供了垂直和水平布局能力。
  • 如果 Grid 组件设置了宽高属性,则其尺寸为设置值。如果没有设置宽高属性,Grid 组件的尺寸默认适应其父组件的尺寸。
  • 当网格容器组件尺寸发生变化时,所有子组件以及间距会等比例调整,从而实现网格布局的自适应能力。
  • Grid组件根据行列数量与占比属性的设置,可以分为三种布局情况:
    • 行、列数量与占比同时设置:Grid 只展示固定行列数的元素,其余元素不展示,且 Grid 不可滚动。(推荐使用该种布局方式)
    • 只设置行、列数量与占比中的一个:元素按照设置的方向进行排布,超出的元素可通过滚动的方式展示。
    • 行列数量与占比都不设置:元素在布局方向上排布,其行列数由布局方向、单个网格的宽高等多个属性共同决定。超出行列容纳范围的元素不展示,且 Grid 不可滚动。

三、网格数据

  • 网格布局采用二维布局的方式组织其内部元素。Grid 组件可以通过二维布局的方式显示一组GridItem子 组件。
  • 对于内容结构相似的多个GridItem,通常更推荐使用 ForEach 语句中嵌套GridItem的形式,来减少重复代码。
// 二维布局方式Grid(){GridItem(){Text('会议')// ···}GridItem(){Text('投票')// ···}GridItem(){Text('签到')// ···}GridItem(){Text('打印')// ···}}// ···.rowsTemplate('1fr 1fr').columnsTemplate('1fr 1fr')// ForEach语句方式content:Array<striing>=['会议','投票','签到','打印']Grid(){ForEach(this.content,(item:string)=>{GridItem(){Text(item)}// ···},(item:string):string=>item)}.rowsTemplate(('1fr 1fr')asstring).columnsTemplate(('1fr 1fr'<
http://www.jsqmd.com/news/694209/

相关文章:

  • 2026年IP查询工具怎么选?从临时查询到风控落地的完整选型指南
  • 北京起重吊装搬运公司怎么选?大件运输重物移位服务商优选榜单 - 海棠依旧大
  • Spring StopWatch源码小探:除了计时,它还在注释里‘藏’了哪些设计哲学?
  • 别再只盯着基波了!手把手教你用Simulink搭建PMSM的五七次谐波抑制模型(附源码)
  • 本科论文降AI率工具怎么选?亲测有效指南
  • SpringCloud Alibaba微服务链路追踪实战:Sleuth+Zipkin vs SkyWalking,我该选哪个?
  • 西安财经大学MPAcc复试真汇总(2015-2025)Word高清版|备考专用资料包
  • Elasticsearch核心架构:集群(Cluster)原理详解与核心作用
  • PROGPPCNEXUS读写烧录刷写软件 - 适用于飞思卡尔MPC55xx/56xx/57xx...
  • Unlock Music技术方案:如何彻底解决音乐平台加密格式的跨平台兼容难题
  • BitNet b1.58-2B-4T-gguf效果展示:中文古诗续写、技术术语解释、英文翻译对比
  • 企业内部通讯软件|打造企业专属高效沟通体系
  • handsontable输入中文第一个字母丢失问题
  • 手把手教你用Python+PyTorch复现一个简易推荐系统(从协同过滤到双塔模型)
  • 范式终审:旧学术体系的非法性宣判与贾子理论的智慧公理重构
  • JetBrains IDE 试用期重置完全指南:30天无限续期的终极方案
  • VSCode日志配置“黑盒”终结者:用$HOME/.vscode/logs/下的12类时间戳日志文件反向定位崩溃根源
  • 营收下滑增长触顶,爱奇艺推“AI艺人库”降本却引用户愤怒
  • Docker里跑SVN,权限配置总踩坑?这份authz文件详解帮你搞定用户与分组管理
  • 在Ubuntu 22.04上搞定gnina:一个生物信息学小白的CUDA 11.8+Python 3.10完整配置手记
  • 西北工业大学物理学院复试资料电子版|14-18年真+实验视频+英语口语问答|考研冲刺必备
  • 为什么92%的C++26早期采用者在Release模式下静默禁用合约?真相与3种军工级启用策略
  • 收藏|2026年版AI大模型全维度学习路线,小白程序员零基础入门必看
  • BredOS:专为RK3588优化的Arch Linux Arm发行版解析
  • Harness工程深度解析:从理论到实践的完整指南
  • 手把手教你处理C# WinForm后台线程,告别窗体关闭后进程残留
  • 从光电效应实验到Python数据可视化:用Matplotlib复现普朗克常量测量全过程
  • 2026年3月西双版纳民宿名称,住宿/西双版纳民宿/民宿/西双版纳酒店/酒店/西双版纳住宿,西双版纳民宿费用推荐 - 品牌推荐师
  • Elasticsearch核心详解:Document文档概念与存储检索实战
  • 别再死记硬背了!用一张图+实战代码彻底搞懂UVM Phase的执行顺序