HarmonyOS 鸿蒙Next半模态转场如何控制固定高度

发布于 1周前 作者 eggper 来自 鸿蒙OS

HarmonyOS 鸿蒙Next半模态转场如何控制固定高度

解决措施

可以通过bindSheet的options?: SheetOptions参数对高度进行控制,暂不支持控制固定宽度。

代码示例

@Entry

@Component

struct SheetTransitionExample {

  @State isShow: boolean = false;

  @State sheetHeight: number = 300;

  @Builder

  myBuilder() {

    Column() {

      Button(‘change height’)

        .margin(10)

        .fontSize(20)

        .onClick(() => {

          this.sheetHeight = 500;

        })

      Button(‘Set Illegal height’)

        .margin(10)

        .fontSize(20)

        .onClick(() => {

          this.sheetHeight = 0;

        })

    }

    .width(‘100%’)

    .height(‘100%’)

  }

  build() {

    Column() {

      Button(‘transition modal 1’)

        .onClick(() => {

          this.isShow = true;

        })

        .fontSize(20)

        .margin(10)

        .bindSheet(this.isShow, this.myBuilder(), { height: this.sheetHeight, backgroundColor: Color.Green })

    }

    .justifyContent(FlexAlign.Center)

    .width(‘100%’)

    .height(‘100%’)

  }

}

参考链接

半模态转场

3 回复
支持的啊,想要高度自适应也可以,设置height为
SheetSize.FIT_CONTENT

HarmonyOS 鸿蒙Next半模态转场控制固定高度的方法主要有:

  1. 使用CSS样式:通过设置半模态转场容器的样式,可以直接将高度设置为固定的像素值,或使用百分比相对于父元素设置高度。
  2. JavaScript动态调整:在页面加载或转场开始时,通过JavaScript动态修改容器的高度,实现固定高度的效果。
  3. CSS动画和关键帧:利用CSS动画和关键帧,创建平滑的过渡效果,控制转场过程中容器的高度变化。

请根据实际需求和上下文环境选择合适的方法。如果问题依旧没法解决请加我微信,我的微信是itying888。

回到顶部