HarmonyOS 自定义弹和Navigation配合使用的问题

自定义弹窗(CustomDialog)和Navigation配合使用的时候,弹窗的位置一直在最上面而不是和alignment: DialogAlignment.Bottom属性保持一致。

弹窗代码:

@CustomDialog
export struct MyDia { //Dia改成dig
  controller: CustomDialogController

  build() {
    Navigation() {
      Column() {
        Text('我是弹窗')
      }
      .width('100%')
      .height(200)
      .backgroundColor('red')
    }
  }
}

引用弹窗的代码:

import { MyDia } from '../components/Dia/Index'

@Entry
@Component
struct Dia {
  MyDiaController: CustomDialogController = new CustomDialogController({
    builder: MyDia({}),
    customStyle: true, //弹窗容器样式是否自定义
    autoCancel: false, //是否允许点击遮障层退出
    alignment: DialogAlignment.Bottom, //弹窗在竖直方向上的对齐方式
  })

  onPageShow(): void {
    this.MyDiaController.open()
  }
  build() {
  }
}
HarmonyOS
1天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
aquaa

在原有的代码中给Navigation加上一个背景色,再设置customStyle: true且Navigation自适应高度时会占满高度。

参考示例如下:

@CustomDialog
export struct MyDia { //Dia改成dig
  controller:CustomDialogController
  build() {
    Navigation(){
      Column(){
        Text('我是弹窗')
      }
      .width('100%')
      .height(200)
      .backgroundColor('red')
    }
    .height(300)
    .backgroundColor(Color.Blue)
  }
}
@Entry
@Component
struct Dia {
  MyDiaController:CustomDialogController = new CustomDialogController({
    builder:MyDia({
    }),
    customStyle: true,//弹窗容器样式是否自定义
    autoCancel: false,//是否允许点击遮障层退出
    alignment: DialogAlignment.Bottom, //弹窗在竖直方向上的对齐方式
  })

  onPageShow(): void {
    this.MyDiaController.open()
  }
  build() {}
}
分享
微博
QQ
微信
回复
1天前
相关问题
HarmonyOS 自定义框组件问题
504浏览 • 1回复 待解决
HarmonyOS 自定义框封装问题
31浏览 • 1回复 待解决
自定义状态获取
904浏览 • 1回复 待解决
HarmonyOS 自定义框不能全屏
101浏览 • 1回复 待解决
HarmonyOS 如何设置自定义颜色
43浏览 • 1回复 待解决
自定义装饰器使用问题
832浏览 • 1回复 待解决
自定义弹窗使用相关问题
967浏览 • 1回复 待解决
是否可以自定义权限框文字
1713浏览 • 1回复 待解决
HarmonyOS app版本升级需要自定义
26浏览 • 1回复 待解决
HarmonyOS WebView使用自定义键盘问题
91浏览 • 1回复 待解决
自定义框,遮罩背景颜色无法设置
359浏览 • 1回复 待解决
HarmonyOS 自定义弹窗问题
728浏览 • 1回复 待解决
HarmonyOS 自定义框关闭后页面上移
38浏览 • 1回复 待解决