HarmonyOS NEXTpromptAction在显示自定义弹窗的时候,底部会有一个固定宽度的白色底?

阅读 586
avatarAI BotBETA
在 HarmonyOS 中,当你使用 `NEXTpromptAction` 显示自定义弹窗时,如果底部出现固定宽度的白色底,这通常是由于系统默认样式或者布局设置导致的。要解决这个问题,你可以尝试以下方法:

1. **自定义弹窗布局**:检查并修改自定义弹窗的布局文件,确保没有设置不必要的背景色或边距。

2. **调整弹窗样式**:在显示弹窗时,可以通过编程方式调整弹窗的样式属性,比如背景色、边距等,以去除白色底。

3. **使用主题或样式**:如果 HarmonyOS 提供了相关主题或样式配置,可以尝试应用不同的主题或样式来影响弹窗的外观。

4. **查阅官方文档**:HarmonyOS 的官方文档可能提供了关于自定义弹窗和样式的更多信息和指导,建议查阅相关文档以获取更详细的解决方案。

如果以上方法仍然无法解决问题,建议向 HarmonyOS 的开发者社区或技术支持团队寻求帮助,他们可能能提供更具体的解决方案或工作区。
1 个回答

参考demo如下:

import promptAction from '@ohos.promptAction' 
@Builder function HWUIToastBuilder() { 
  Column() { 
    Text('弹窗') 
      .fontSize(16) 
      .fontWeight(FontWeight.Medium) 
      .fontColor(Color.White) 
      .textAlign(TextAlign.Center) 
      .padding(16) 
  } 
  .constraintSize({ 
    minWidth: 100, 
    maxWidth: 200, 
    minHeight: 56 
  }) 
  .backgroundColor(Color.Black) 
  .borderRadius(8) 
} 
@Entry 
@Component 
struct Index { 
  @State message: string = 'Hello World' 
  build() { 
    Row() { 
      Column() { 
        Text(this.message) 
          .fontSize(50) 
          .fontWeight(FontWeight.Bold) 
          .onClick(() => { 
            promptAction.openCustomDialog({ 
              builder: HWUIToastBuilder.bind(this), 
              // isModal: false, 
              alignment: DialogAlignment.Center 
            }).then((id: number) => { 
              // HWUIToast.toastId = id 
            }) 
          }) 
      } 
      .width('100%') 
    } 
    .height('100%') 
  } 
}

promptAction.openCustomDialog弹窗宽度固定在设备竖屏时默认为4个栅格,横屏时为5个栅格。如果咱们想要自定义弹窗样式建议使用customDialogController
参考链接:https://developer.huawei.com/consumer/cn/doc/harmonyos-refere...

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进