HarmonyOS 想要实现上下两个文案等宽等高,底部文案是动态变动的大小,除了用onAreaChange还有其他办法吗?

当前有个需求,有两个按钮,顶部按钮文案固定,底部按钮是动态变化的可能很长,现在需要让顶部按钮与底部按钮宽高相同,除了用onAreaChange还有其他办法吗?

HarmonyOS
2024-10-28 10:51:15
浏览
收藏 0
回答 1
回答 1
按赞同
/
按时间
zbw_apple

​可使用相对布局的方式,可参照一下demo,相对布局文档:

https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/arkts-layout-development-relative-layout-V5

@State buttonWid:number = 100;  
build() {  
  Row(){  
    RelativeContainer(){  
      Button("按钮2")  
        .backgroundColor(Color.Green)  
        .alignRules({  
          bottom: {anchor: "__container__", align: VerticalAlign.Bottom},  
          middle: {anchor: "__container__", align: HorizontalAlign.Center},  
        })  
        .id("button1")  
        .offset({  
          y:-100  
        })  
        .width(this.buttonWid)  
  
      Button("按钮1")  
        .backgroundColor(Color.Red)  
        .alignRules({  
          left: {anchor: "button1", align: HorizontalAlign.Start},  
          right: {anchor: "button1", align: HorizontalAlign.End},  
          top: {anchor: "__container__", align: VerticalAlign.Top},  
          middle: {anchor: "__container__", align: HorizontalAlign.Center}  
        })  
        .onClick(()=>{  
          let  wid = this.buttonWid;  
          this.buttonWid =  wid + 20;  
        })  
        .id("button2")  
        .offset({  
          y:100  
        })  
    }  
  }  
  .width("100%")  
  .height("100%")
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
分享
微博
QQ
微信
回复
2024-10-28 16:23:56
相关问题
HarmonyOS 如何比较两个日期大小
1446浏览 • 1回复 待解决
HarmonyOS 一行文案不同字体大小
699浏览 • 1回复 待解决
HarmonyOS Picker中文案如何自定义
683浏览 • 1回复 待解决
鸿蒙支持两个SPP server??? 20
2145浏览 • 1回复 待解决
两个重叠组件如何实现事件透传
1417浏览 • 1回复 待解决
HarmonyOS 关于两个权限区别
1218浏览 • 1回复 待解决