HarmonyOS Grid-GridItem组件高度的咨询?

现在需要写一个填充两行的Grid布局,但是实际写出来,这个Grid的高度无法自动填充,会变的非常高。现在想让这个Grid布局,高度自适应,能包住两行的GridItem,直接指定他的高度就是2行。 不需要指定具体多少个像素。请问该如何操作?

阅读 481
1 个回答

下面简版demo可参考,核心是增加maxCount。

@Entry
@Component
struct GridPage {
  @State message: string = 'Hello World';
  @State numbers: String[] = ['0', '1', '2', '3', '4','5','6','7','8']
  scroller: Scroller = new Scroller()

  build() {
    Column() {
      Grid(this.scroller) {
        ForEach(this.numbers, (day: string) => {
          GridItem() {
            customGridItem()
          }
        })
      }
      .columnsTemplate('1fr 1fr 1fr 1fr')
      .columnsGap(10)
      .rowsGap(10)
      .width('90%')
      .backgroundColor(Color.Gray)
      .maxCount(this.numbers.length)
    }
    .width('100%')
    .height('100%')
    .margin({ top: 5 })
    .backgroundColor(Color.White)

  }
}

@Component
struct customGridItem {
  build() {
    Row() {
      Image('')
        .backgroundColor(Color.Red)
    }
    .width('100%')
    .aspectRatio(1)
    .backgroundColor("#FF3333")
  }
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进