HarmonyOS 鸿蒙Next promptAction.showActionMenu弹窗可否调整位置

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

HarmonyOS 鸿蒙Next promptAction.showActionMenu弹窗可否调整位置

promptAction.showActionMen弹窗可否调整位置
看示例(https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-promptaction-V5#promptactionshowactionmenu)下的gif效果,是弹窗在中间,运行示例代码,弹窗显示在底部,也没有找到参数控制

2 回复

promptAction.showActionMenu弹窗是出现在底部,建议使用opencustomdialog,可以通过alignment或者offset来调整弹窗的位置。

\import promptAction from '[@ohos](/user/ohos).promptAction'
let customDialogId: number = 0
[@Builder](/user/Builder)
function customDialogBuilder() {
 Column() {
   Text('Custom dialog Message').fontSize(10)
   Column() {
     Button('确认').backgroundColor(Color.Transparent).fontColor('#666666').onClick(() => {
       promptAction.closeCustomDialog(customDialogId)
     })
     Blank().width(50)
     Button('取消').backgroundColor(Color.Transparent).fontColor('#000000').onClick(() => {
       promptAction.closeCustomDialog(customDialogId)
     })
   }
 }.height(200).padding(5)
}

[@Entry](/user/Entry)
[@Component](/user/Component)
struct Index {
 [@State](/user/State) message: string = 'Hello World'

 build() {
   Row() {
     Column() {
       Text(this.message)
         .fontSize(50)
         .fontWeight(FontWeight.Bold)
         .onClick(() => {
           promptAction.openCustomDialog({
             builder: customDialogBuilder.bind(this),
             alignment:DialogAlignment.Center
             // offset:{dx:0,dy:-260} //可以通过这个属性来设置位置
           }).then((dialogId: number) => {
             customDialogId = dialogId
           })
         })
     }
     .width('100%')
   }
   .height('100%')
 }
}

HarmonyOS 鸿蒙Next promptAction.showActionMenu弹窗可以调整位置

在HarmonyOS 鸿蒙Next中,promptAction.showActionMenu弹窗的位置通常可以通过相关属性和参数进行设置。具体来说,可以通过alignment参数设置弹窗的对齐方式,例如DialogAlignment.Center表示居中显示,DialogAlignment.Bottom表示底部显示等。此外,还可以使用offset参数来设置弹窗的偏移量,以实现更精细的位置调整。

如果需要让弹窗在特定位置显示,可以综合使用alignmentoffset参数。例如,可以先将alignment设置为DialogAlignment.Bottom,使其对齐到底部,然后通过offset参数调整弹窗的垂直偏移量,使其能够满足特定的显示需求。

值得注意的是,由于不同设备和屏幕尺寸的差异,可能需要针对不同情况进行位置调整,以确保弹窗能够正确显示并覆盖目标区域。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部