HarmonyOS 5.0 应用开发——网格(Grid)
【高心星出品】
网格(Grid)
网格介绍
网格布局是由“行”和“列”分割的单元格所组成,通过指定“项目”所在的单元格做出各种各样的布局。
ArkUI 提供了 Grid 容器组件和子组件 GridItem,用于构建网格布局。Grid 用于设置网格布局相关参数,GridItem 定义子组件相关特征。
网格布局
大小占比
通过设置行列数量与尺寸占比可以确定网格布局的整体排列方式。Grid 组件提供了 rowsTemplate 和 columnsTemplate 属性用于设置网格布局行列数量与尺寸占比。
复制代码
运行效果为:
不均匀网格布局
在 Grid 组件中,通过设置 GridItem 的 rowStart、rowEnd、columnStart 和 columnEnd 可以实现如图所示的单个网格横跨多行或多列的场景。
复制代码
设置主轴方向
使用 Grid 构建网格布局时,若没有设置行列数量与占比,可以通过 layoutDirection 可以设置网格布局的主轴方向,决定子组件的排列方式。此时可以结合 minCount 和 maxCount 属性来约束主轴方向上的网格数量。
复制代码
网格填充
我们可以使用迭代的方式进行网格填充,创建好子布局视图和数据源,就可以将数据源的数据逐条初始化给子布局视图,完成网格数据填充。
复制代码
运行效果:
设置行列间距
在两个网格单元之间的网格横向间距称为行间距,网格纵向间距称为列间距。
可以通过 columnsGap 和 rowsGap 分别来设置列间距和行间距。
复制代码
可滚动的网格布局
如果设置的是 columnsTemplate,Grid 的滚动方向为垂直方向;如果设置的是 rowsTemplate,Grid 的滚动方向为水平方向。
当且仅当 rowsTemplate 和 columnsTemplate 只设置一项的时候,那么如果屏幕无法显示完整网格,那么网格就具备了滑动功能。
复制代码
评论