HarmonyOS Grid布局,GridItem没有等分宽度

代码如下:

Column() {
  Text(`选择存期`)
    .attributeModifier(new GlobalTextModifier(20))
    .fontWeight(FontWeight.Medium)
    .fontColor($r('app.color.black_333333'))
    .padding({ left: 15, top: 10 })
    .width('100%')
    .textAlign(TextAlign.Start)

  Grid() {
    ForEach(this.periods, (model: Record<string, string>, index: number) => {
      GridItem() {
        Stack() {
          Text(model["key"])
            .padding({
              left: 30,
              top: 10,
              right: 30,
              bottom: 10
            })
            .onClick(() => {
              if (this.periodModel!['value'] != model['value']) {
                this.rateLoading = true
                this.requestRateData(true)
              }
            })
            .attributeModifier(new GlobalTextModifier(24))
            .fontColor(this.periodModel!['value'] == model['value'] ? $r('app.color.blue_6685e6') : $r('app.color.dark_grey_666666'))
            .textAlign(TextAlign.Center)
            .onClick(() => {
              this.periodModel = model
            })
          if (this.periodModel!['value'] == model['value']) {
            Image($r('app.media.old_icon_jiaobiao'))
              .width(24)
              .width(24)
          }
        }
        .alignContent(Alignment.BottomEnd)
        .borderColor(this.periodModel!['value'] == model['value'] ?  $r('app.color.blue_6685e6') : $r('app.color.dark_grey_666666'))
        .borderWidth(0.5)
        .borderRadius(4)
      }

    }, (model: Record<string, string>) => JSON.stringify(model))
  }
  .columnsTemplate('1fr 1fr 1fr')
  .layoutDirection(GridDirection.Row)
  .margin({left: 10, right: 10, top: 10})
  .columnsGap(10)
  .rowsGap(15)
}

效果见截图

HarmonyOS Grid布局,GridItem没有等分宽度 -鸿蒙开发者社区

HarmonyOS
1天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
fox280

设置下 stack 的宽高即可实现等分 , 默认是自动计算的

GridItem() {
  Stack() {...  }.width("90vp").height("30vp")
  .alignContent(Alignment.BottomEnd)
  .borderWidth(0.5)
  .borderRadius(4)
}
分享
微博
QQ
微信
回复
1天前
相关问题
HarmonyOS Grid高度无法等分(横3竖2)
581浏览 • 1回复 待解决
HarmonyOS 可移动GridItemGrid组件
419浏览 • 1回复 待解决
HarmonyOS Grid-GridItem组件高度的咨询
118浏览 • 1回复 待解决
HarmonyOS grid如何自适应宽度
234浏览 • 1回复 待解决
HarmonyOS grid和list混合布局问题
188浏览 • 1回复 待解决
ets中设置布局高度和宽度
3219浏览 • 1回复 待解决
HarmonyOS UI布局子控件超出父控件宽度
191浏览 • 1回复 待解决
HarmonyOS GridItem自适应高度问题
534浏览 • 1回复 待解决
HarmonyOS GridItem之间有一条竖线
21浏览 • 1回复 待解决
没有接口能获取到组件的宽度
1069浏览 • 1回复 待解决