想要实现一个宽度充满屏幕的dialog弹窗,应该怎么实现?

想要实现一个宽度充满屏幕的dialog弹窗,应该怎么实现,文档上没找到相应属性。

HarmonyOS
2024-10-11 10:26:32
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
put_get

全局弹窗示例代码:

//1.全局开启沉浸式模式  
let windowClass: window.Window = windowStage.getMainWindowSync(); // 获取应用主窗口  
let isLayoutFullScreen = true;  
try {  
  let promise = windowClass.setWindowLayoutFullScreen(isLayoutFullScreen);  
  promise.then(() => {  
    console.info('Succeeded in setting the window layout to full-screen mode.');  
  }).catch((err: BusinessError) => {  
    console.error('Failed to set the window layout to full-screen mode. Cause:' + JSON.stringify(err));  
  });  
} catch (exception) {  
  console.error('Failed to set the window layout to full-screen mode. Cause:' + JSON.stringify(exception));  
}  
  
//2.自定义弹窗  
@CustomDialog  
export struct CustomerDialog {  
  controller: CustomDialogController  
  
  build() {  
    Column() {  
      Text("提示")  
      Row() {  
        Button('取消', {  
          type: ButtonType.Normal  
        })  
          .width(100)  
          .height(30)  
          .attributeModifier(new TextBodyModifier())  
          .onClick(() => {  
  
          })  
          .fontColor(0x666666)  
          .borderRadius({  
            bottomLeft: 8,  
            bottomRight: 8  
          })  
        Button('确定', {  
          type: ButtonType.Normal  
        })  
          .width(100)  
          .height(30)  
          .attributeModifier(new TextBodyModifier())  
          .onClick(() => {  
          })  
          .fontColor(0x333333)  
          .borderRadius({  
            bottomLeft: 8,  
            bottomRight: 8  
          })  
      }.justifyContent(FlexAlign.SpaceAround)  
    }  
    .width(280)  
    .height(280)  
    .borderRadius(8)  
    .backgroundColor(Color.White)  
    .alignItems(HorizontalAlign.Center)  
    .justifyContent(FlexAlign.SpaceEvenly)  
  }  
}  
private controller: CustomDialogController = new CustomDialogController({  
  builder: CustomerDialog({  
  }),  
  alignment: DialogAlignment.Center,  
  autoCancel: false,  
  customStyle: true,  
  cancel: () => {  
    router.back()  
  }
分享
微博
QQ
微信
回复
2024-10-11 16:39:31
相关问题
如何在全局实现一个自定义dialog弹窗
2821浏览 • 1回复 待解决
想要实现一个图片裁剪功能
374浏览 • 1回复 待解决
如何实现一个带动画弹窗
496浏览 • 1回复 待解决
ArkTS如何实现一个底部弹窗
784浏览 • 1回复 待解决
如何实现一个验证码弹窗子窗口
357浏览 • 1回复 待解决
一个页面怎么实现多个AbilitySlice?
14350浏览 • 5回复 待解决
我想用XML布局增加一个图片怎么实现
10869浏览 • 4回复 待解决
实现一个虚线边框组件。
559浏览 • 1回复 待解决
HarmonyOS 屏幕宽度怎么获取
401浏览 • 1回复 待解决
如何实现一个折叠组件
991浏览 • 1回复 待解决