HarmonyOS 关于相对布局最右侧内容被完全撑开问题

要实现左侧按钮固定,右侧按钮固定,中间内容相对左右两个按钮在中间,代码如下:

RelativeContainer() {
  Text(this.message)
    .id('HelloWorld')
    .fontSize(10)
    .fontWeight(FontWeight.Bold)
    .id("base_title_left_container")
    .alignRules({
      bottom: { anchor: "__container__", align: VerticalAlign.Bottom },
      left: { anchor: "__container__", align: HorizontalAlign.Start }
    })


  Flex({ justifyContent: FlexAlign.End, alignItems: ItemAlign.Center }) {
    Text(this.message)
      .id('HelloWorld')
      .fontSize(10)
      .fontWeight(FontWeight.Bold)
    Text(this.message)
      .id('HelloWorld')
      .fontSize(10)
      .fontWeight(FontWeight.Bold)
  }

  .id("base_title_right_container")
  .alignRules({
    bottom: { anchor: "__container__", align: VerticalAlign.Bottom },
    right: { anchor: "__container__", align: HorizontalAlign.End }
  })
  .backgroundColor('#00ff00')
  Row(){
    Text(this.message)
      .id('HelloWorld')
      .fontSize(10)
      .fontWeight(FontWeight.Bold)

  }.alignRules({
    left: { anchor: "base_title_left_container", align: HorizontalAlign.End },
    right: { anchor: "base_title_right_container", align: HorizontalAlign.Start }
  }).backgroundColor('#ff0000')
}
.height('20')
.width('100%')

实际效果是右侧的Flex把整个容器撑满了,如何让右侧Flex跟随内容宽度设置宽度?

HarmonyOS 关于相对布局最右侧内容被完全撑开问题 -鸿蒙开发者社区

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

Flex不能自适应子节点,换个容器如下:

RelativeContainer() {
  Text(this.message)
    .id('HelloWorld')
    .fontSize(10)
    .fontWeight(FontWeight.Bold)
    .id("base_title_left_container")
    .alignRules({
      bottom: { anchor: "__container__", align: VerticalAlign.Bottom },
      left: { anchor: "__container__", align: HorizontalAlign.Start }
    })

  Row() {
    Text(this.message)
      .id('HelloWorld')
      .fontSize(10)
      .fontWeight(FontWeight.Bold)
    Text(this.message)
      .id('HelloWorld')
      .fontSize(10)
      .fontWeight(FontWeight.Bold)
  }
  .id("base_title_right_container")
  .alignRules({
    bottom: { anchor: "__container__", align: VerticalAlign.Bottom },
    right: { anchor: "__container__", align: HorizontalAlign.End }
  })
  .backgroundColor('#00ff00')

  Row(){
    Text(this.message)
      .id('HelloWorld')
      .fontSize(10)
      .fontWeight(FontWeight.Bold)

  }.alignRules({
    left: { anchor: "base_title_left_container", align: HorizontalAlign.End },
    right: { anchor: "base_title_right_container", align: HorizontalAlign.Start }
  }).backgroundColor('#ff0000')

}
.height('20')
.width('100%')
分享
微博
QQ
微信
回复
2天前
相关问题
HarmonyOS 横向Scroll定位到最右侧
107浏览 • 1回复 待解决
HarmonyOS相对布局问题
594浏览 • 1回复 待解决
HarmonyOS 相对布局的高度问题
394浏览 • 1回复 待解决
HarmonyOS 文字和图片相对布局问题
35浏览 • 1回复 待解决
相对布局(RelativeContainer)
1445浏览 • 1回复 待解决
HarmonyOS 关于ui布局问题 --胡宏松
135浏览 • 1回复 待解决
HarmonyOS 弹窗布局软键盘压缩
30浏览 • 1回复 待解决
关于text内容删除的问题有懂的吗?
2946浏览 • 1回复 待解决
HarmonyOS 布局问题
223浏览 • 1回复 待解决
HarmonyOS 关于自动换行的流式布局
210浏览 • 1回复 待解决