0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

鸿蒙ArkUI开发:常用布局【创建网格(Grid/GridItem)】

jf_46214456 来源:jf_46214456 作者:jf_46214456 2024-05-15 16:24 次阅读

创建网格(Grid/GridItem)

  1. 网格布局主要用于处理固定行列的UI,也支持动态调整。很类似iOS中的UICollectionView。
  2. [Grid]容器的子组件一定是[GridItem]
  3. 开发前请熟悉鸿蒙开发指导文档:[gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md]

Grid,GridItem关系

容器内每一个条目对应一个GridItem组件
image.png

行列数量可配

  1. Grid组件提供了rowsTemplate和columnsTemplate属性用于设置网格布局行列数量与尺寸占比。
  2. rowsTemplate和columnsTemplate属性值是一个由多个空格和'数字+fr'间隔拼接的字符串,fr的个数即网格布局的行或列数,fr前面的数值大小,用于计算该行或列在网格布局宽度上的占比,最终决定该行或列的宽度
typescript
复制代码
Grid() {
...
}
.rowsTemplate('1fr 1fr 1fr')
.columnsTemplate('1fr 2fr 1fr')

image.png

单个网格可以横跨多行或多列

通过设置GridItem的rowStart、rowEnd、columnStart和columnEnd可以实现单个网格横跨多行或多列的场景

typescript
复制代码
Grid() {
    GridItem() {}
    GridItem() {}
    GridItem() {}
    .columnStart(1)
    .columnEnd(2)

    GridItem() {}
    .rowStart(1)
    .rowEnd(2)
    GridItem() {}
    GridItem() {}
    GridItem() {}
    
    GridItem() {}
    .columnStart(1)
    .columnEnd(3)
}
.rowsTemplate('1fr 1fr 1fr')
.columnsTemplate('1fr 1fr 1fr 1fr')
.columnsGap(8)
.rowsGap(8)

`HarmonyOSOpenHarmony鸿蒙文档籽料:mau123789v直接拿`

搜狗高速浏览器截图20240326151547.pngimage.png

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 网格
    +关注

    关注

    0

    文章

    138

    浏览量

    15834
  • 鸿蒙
    +关注

    关注

    55

    文章

    2103

    浏览量

    42272
收藏 人收藏

    评论

    相关推荐

    HarmonyOS开发ArkUI案例:【常用布局容器对齐方式】

    基于ArkTS扩展的声明式开发范式,实现Flex、Column、Row和Stack四种常用布局容器对齐方式。
    的头像 发表于 05-08 16:47 1097次阅读
    HarmonyOS<b class='flag-5'>开发</b><b class='flag-5'>ArkUI</b>案例:【<b class='flag-5'>常用布局</b>容器对齐方式】

    鸿蒙ArkUI开发常用布局【主轴】

    线性布局的子元素在线性方向上(水平方向和垂直方向)依次排列
    的头像 发表于 05-13 17:33 655次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>ArkUI</b><b class='flag-5'>开发</b>:<b class='flag-5'>常用布局</b>【主轴】

    鸿蒙开发-ArkUI框架实战【日历应用 】

    ,可以包含多个子组件 Grid网格容器,由“行”和“列”分割的单元格所组成,通过指定“项目”所在的单元格做出各种各样的布局,只能包含GridItem子组件 绘制组件 Circle:圆
    发表于 01-17 21:37

    鸿蒙开发实战-(ArkUI)List组件和Grid组件的使用

    一系列相同宽度的列表项,连续、多行呈现同类数据,例如图片和文本。常见的列表有线性列表(List列表)和网格布局Grid列表): 为了帮助开发者构建包含列表的应用,ArkUI提供了L
    发表于 01-18 20:18

    求问创建网格的用法

    运行提示我说颜色分量不在可接受范围内但是我颜色数组应该是按照格式创建的,求哪位大神能解释下创建网格这个vi的颜色数组的注意事项
    发表于 09-07 20:48

    深度剖析Openharmony的Flex和Grid布局

    Flex布局概述Flex布局是很常用也是很方便的一种布局模式,此种布局方式已经广泛使用在前端、小程序开发
    发表于 04-13 14:26

    OpenHarmony使用ArkUI Inspector分析布局

    本文转载自《#2023 盲盒+码 # OpenHarmony使用ArkUI Inspector分析布局》,作者:zhushangyuan_ ● 摘要:视图的嵌套层次会影响应用的性能,开发者应该移除
    发表于 09-04 15:27

    鸿蒙应用ui布局

    请问,在用java开发鸿蒙用布局UI时,怎么才能全屏布局(不显示labelb标题)
    发表于 09-20 22:09

    PCB设计中的Grid布局的作用

    今天为大家讲讲PCB设计中什么是Grid布局?PCB设计中的Grid布局的作用。 PCB设计中的Grid
    发表于 11-29 09:35 1086次阅读

    鸿蒙ArkUI开发-Tabs组件的使用

    鸿蒙ArkUI开发-Tabs组件的使用
    的头像 发表于 01-19 16:01 900次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>ArkUI</b><b class='flag-5'>开发</b>-Tabs组件的使用

    鸿蒙ArkUI开发常用布局【相对布局

    相对布局可以让子元素指定兄弟元素或父容器作为锚点,基于锚点做位置布局
    的头像 发表于 05-14 20:50 212次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>ArkUI</b><b class='flag-5'>开发</b>:<b class='flag-5'>常用布局</b>【相对<b class='flag-5'>布局</b>】

    鸿蒙ArkUI开发常用布局创建列表(List)】

    列表容器是为了高效处理长列表的容器,能支持横向、竖向滚动,数据分组,分组头悬浮等功能
    的头像 发表于 05-15 15:30 288次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>ArkUI</b><b class='flag-5'>开发</b>:<b class='flag-5'>常用布局</b>【 <b class='flag-5'>创建</b>列表(List)】

    鸿蒙用布局ArkUI【基础运用案例】

    平级导航的复合网格视图常出现在同时展示多种不同内容的界面。
    的头像 发表于 05-17 11:19 168次阅读
    <b class='flag-5'>鸿蒙</b>应<b class='flag-5'>用布局</b><b class='flag-5'>ArkUI</b>【基础运用案例】

    鸿蒙ArkUI-X跨平台技术:【开发准备】

    本文档适用于ArkUI跨平台应用开发的初学者。通过开发环境搭建、应用工程创建、编译和运行,熟悉ArkUI跨平台应用
    的头像 发表于 05-24 10:40 194次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>ArkUI</b>-X跨平台技术:【<b class='flag-5'>开发</b>准备】

    鸿蒙ArkUI-X跨平台开发:【 编写第一个ArkUI-X应用】

    通过构建一个简单的ArkUI页面跳转示例,快速了解资源创建引用,路由代码编写和UI布局编写等应用开发流程。
    的头像 发表于 05-21 17:36 239次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>ArkUI</b>-X跨平台<b class='flag-5'>开发</b>:【 编写第一个<b class='flag-5'>ArkUI</b>-X应用】