HarmonyOS 鸿蒙Next 侧滑时弹窗让用户确定是否退出APP怎么实现?

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

HarmonyOS 鸿蒙Next 侧滑时弹窗让用户确定是否退出APP怎么实现? 在onBackPress回调中,想用AlertDialog让用户确定是否退出APP,目前的现象是

  1. 侧滑弹框出现的同时,APP也直接最小化了,怎么阻止APP最小化呢?

  2. 再次进入APP,点击弹框上的确认退出按钮时,调用app.termiante()没生效,没有退出应用,而是关闭了Dialog,怎么解决这个问题?

2 回复

参考demo

import { process } from '@kit.ArkTS';
@Entry
@Component
struct MyComponent {
  // 只有被@Entry装饰的组件才可以调用页面的生命周期
  onBackPress() {
    console.info('Index onBackPres这是返回来了吗');
    AlertDialog.show(
      {
        title: '确定退出', // 标题
        message: '是否要退出?', // 内容
        autoCancel: false, // 点击遮障层时,是否关闭弹窗。
        alignment: DialogAlignment.Bottom, // 弹窗在竖直方向的对齐方式
        offset: { dx: 0, dy: -20 }, // 弹窗相对alignment位置的偏移量
        primaryButton: {
          value: '取消',
          action: () => {
            console.info('Callback when the first button is clicked');
            // ApplicationAbility.getInstance()?.quitApp();
          }
        },
        secondaryButton: {
          value: '确定',
          fontColor: '#D94838',
          action: () => {
            console.info('Callback when the second button is clicked这是哈哈啊');
            let pro = new process.ProcessManager();
            pro.exit(0)
            // app.terminate()
          }
        },
        cancel: () => { // 点击遮障层关闭dialog时的回调
          console.info('Closed callbacks');
        }
      }
    )
    return true // 返回true表示页面自己处理返回逻辑,不进行页面路由;返回false表示使用默认的路由返回逻辑,不设置返回值按照false处理
  }

  // 组件生命周期
  aboutToAppear() {
    console.info('MyComponent aboutToAppear');
  }

  // 组件生命周期
  aboutToDisappear() {
    console.info('MyComponent aboutToDisappear');
  }

  build() {
    Column() {
      Button('delete Child')
        .margin(20)
        .onClick(() => {
          // this.showChild = false;
        })
    }

  }
}

更多关于HarmonyOS 鸿蒙Next 侧滑时弹窗让用户确定是否退出APP怎么实现?的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS(鸿蒙)系统中,实现侧滑时弹窗让用户确定是否退出APP的功能,通常涉及到对系统导航栏行为的监听和处理。以下是一个简要的实现思路:

鸿蒙系统提供了丰富的UI组件和事件处理机制,你可以通过监听系统导航栏的侧滑事件来实现这一功能。具体步骤如下:

  1. 监听侧滑事件:在APP的主Activity或相应的页面中,通过重写系统提供的事件监听方法,来捕获用户侧滑退出APP的行为。

  2. 弹出确认对话框:当用户触发侧滑事件时,立即弹出一个包含“确定退出”和“取消”选项的对话框。这个对话框可以通过鸿蒙提供的Dialog组件来实现。

  3. 处理用户选择:根据用户在对话框中的选择,执行相应的逻辑。如果用户选择“确定退出”,则结束APP进程;如果用户选择“取消”,则取消侧滑退出操作,保持APP在当前页面。

需要注意的是,鸿蒙系统的API和组件可能会随着版本的更新而有所变化,因此建议查阅最新的鸿蒙开发文档,以确保实现方式的准确性和兼容性。

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

回到顶部