ArkUI提供了Grid容器组件和子组件GridItem,用于构建网格布局。Grid用于设置网格布局相关参数,GridItem定义子组件相关特征。Grid组件支持使用条件渲染循环渲染懒加载等方式生成子组件。

Grid的子组件必须是GridItem组件。

当Grid组件设置了rowsTemplate或columnsTemplate时,Grid的layoutDirection、maxCount、minCount、cellLength属性不生效,属性说明可参考Grid-属性

行、列数量与占比同时设置:Grid只展示固定行列数的元素,其余元素不展示,且Grid不可滚动。(官方推荐使用该种布局方式)

话不多说写代码看注解查效果!!!

//日志模块
import hilog from '@ohos.hilog';

@Entry
@Component
struct Index {
  @State services: Array<string> = ['会议', '投票', '签到', '打印', '迟到', '早退']

  build() {
    Column() {
      Grid() {
        ForEach(this.services, (service: string) => {
          GridItem() {
            Text(service)
          }.backgroundColor(Color.Green)
        }, (service: string): string => service)
      }
      //设置列间距
      .columnsGap(10)
      //设置行间距
      .rowsGap(15)
      //设置网格布局行列数量与尺寸占比
      .rowsTemplate(('1fr 2fr 1fr') as string)
      .columnsTemplate(('1fr 1fr') as string)
    }
  }
}

Logo

讨论HarmonyOS开发技术,专注于API与组件、DevEco Studio、测试、元服务和应用上架分发等。

更多推荐