HarmonyOS 子组件超过父组件的范围

Stack() {
  Image("")
    .width('100%')
    .height('100%')
    .backgroundColor('#1a0000ff')
    .backgroundImageSize(ImageSize.Cover)
    .expandSafeArea([SafeAreaType.SYSTEM], [SafeAreaEdge.TOP, SafeAreaEdge.BOTTOM])

  RelativeContainer() {
    /**
     * 最大,186 * 23.5
     * 最小,176 * 22.5
     */
    Image($r('app.media.bg_version'))
      .width(LOGIN_WIDTH_MAX)
      .height(this.logoHeight)
      .backgroundColor('#2aff0000')
      .margin({ top: this.commonMarginTop })

    Image($r('app.media.bg_version'))
      .width(33)
      .height(33)
      .backgroundColor('#3aff0000')
      .margin({ top: this.commonMarginTop })
      .alignRules(this.AlignRue)

    /**
     * 375
     * 最大,309 * 30,宽:1 top53.5,left14
     * 最小,130 * 28,宽:0.375 top17,left202.5
     *
     * top = 53.5 ~ 17 = factorChange * (17-53.5) + 53.5
     */
    Row() {

    }
    .width(this.searchWidth + '%')
    .height(this.searchHeight)
    .backgroundColor('#3aff0000')
    .margin({ left: this.searchMarginLeft, top: this.searchMarginTop, })
  }
  .width('100%')
  .height('100%')
  .backgroundColor('#1a00ff00')
  .padding({ left: 14, right: 14 })
  .margin({ left: 14, right: 14, top: 34 })
}
.width('100%')
.height(this.searchLayoutHeight)
.backgroundColor('#ff0000')

这种布局中,子组建超过了父布局的红色

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

如想RelativeContainer的高度自适应子组件的高度,可以给RelativeContainer的高度设置为.height(‘auto’),或想让子组件不超过父组件的范围,可以给父组件RelativeContainer添加固定的高度值并设置.clip(true)属性。

分享
微博
QQ
微信
回复
2天前
相关问题
HarmonyOS 组件渲染超过布局
10浏览 • 1回复 待解决
组件调用组件方法
1284浏览 • 1回复 待解决
组件调用组件方法
329浏览 • 1回复 待解决
HarmonyOS 组件超出组件宽度
36浏览 • 1回复 待解决
HarmonyOS 组件超出组件布局
16浏览 • 1回复 待解决
HarmonyOS 组件调用组件方法
16浏览 • 1回复 待解决
设置组件宽度不超出组件
639浏览 • 1回复 待解决
组件事件可以传到组件
686浏览 • 1回复 待解决
组件组件传递函数
304浏览 • 1回复 待解决