HarmonyOS Navigation Dialog模式下如何禁用手势返回

官方的这个demo:

// Dialog NavDestination
@Entry
@Component
struct Index {
  @Provide('NavPathStack') pageStack: NavPathStack = new NavPathStack()

  @Builder
  PagesMap(name: string) {
    if (name == 'DialogPage') {
      DialogPage()
    }
  }

  build() {
    Navigation(this.pageStack) {
      Button('Push DialogPage')
        .margin(20)
        .width('80%')
        .onClick(() => {
          this.pageStack.pushPathByName('DialogPage', '');
        })
    }
    .mode(NavigationMode.Stack)
    .title('Main')
    .navDestination(this.PagesMap)
  }
}

@Component
export struct DialogPage {
  @Consume('NavPathStack') pageStack: NavPathStack;

  build() {
    NavDestination() {
      Stack({ alignContent: Alignment.Center }) {
        Column() {
          Text("Dialog NavDestination")
            .fontSize(20)
            .margin({ bottom: 100 })
          Button("Close").onClick(() => {
            this.pageStack.pop()
          }).width('30%')
        }
        .justifyContent(FlexAlign.Center)
        .backgroundColor(Color.White)
        .borderRadius(10)
        .height('30%')
        .width('80%')
      }.height("100%").width('100%')
    }
    .backgroundColor('rgba(0,0,0,0.5)')
    .hideTitleBar(true)
    .mode(NavDestinationMode.DIALOG)
  }
}

在弹窗出现后,怎么禁用手势返回(或者系统导航返回按键)

HarmonyOS
1天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
zbw_apple

请参考示例如下:

NavDestination() {
  Stack({ alignContent: Alignment.Center }) {
    Column() {
      Text("Dialog NavDestination")
        .fontSize(20)
        .margin({ bottom: 100 })
      Button("Close").onClick(() => {
        this.pageStack.pop()
      }).width('30%')
    }
    .justifyContent(FlexAlign.Center)
    .backgroundColor(Color.White)
    .borderRadius(10)
    .height('30%')
    .width('80%')
  }.height("100%").width('100%')
}
.backgroundColor('rgba(0,0,0,0.5)')
.hideTitleBar(true)
.mode(NavDestinationMode.DIALOG)
.onBackPressed(() => {
  console.log('自定义操作')
  return true
})
分享
微博
QQ
微信
回复
1天前
相关问题
HarmonyOS 如何禁用页面返回手势
276浏览 • 1回复 待解决
如何禁用系统左右手势返回
277浏览 • 1回复 待解决
HarmonyOS 禁用滑动返回手势问题
61浏览 • 1回复 待解决
HarmonyOS app内如何禁用深色模式
277浏览 • 1回复 待解决
HarmonyOS 如何禁用小窗和分屏模式
446浏览 • 1回复 待解决
CustomDialogController禁用返回
352浏览 • 1回复 待解决
HarmonyOS HMRouter使用 Dialog模式
182浏览 • 0回复 待解决
HarmonyOSNavigation显示dialog问题
501浏览 • 1回复 待解决
HarmonyOS Navigation实现Dialog转场动画
32浏览 • 1回复 待解决
HarmonyOS 页面如何禁止手势返回
28浏览 • 1回复 待解决
HarmonyOS dialog如何禁止侧滑返回关闭
29浏览 • 1回复 待解决
dialog跳转新页面返回dialog关闭
297浏览 • 1回复 待解决