HarmonyOS 返回手势目前直接退出应用,如何自定义左滑手势操作

单页应用,只有一个Web组件,希望触发左滑等手势时,返回上一页,并且在web组件的首页时,左滑两次退出应用

HarmonyOS
2024-12-25 14:16:44
886浏览
收藏 0
回答 1
回答 1
按赞同
/
按时间
FengTianYa

可以通过onBackPress监听返回按键,使用accessBackward()和backward()使用web组件加载h5页面若h5存在历史栈时可返回上一页,通过记录onBackPress()的调用时间间隔编写左滑两次退出逻辑,参考代码如下(代码编写在用@Entry装饰的入口组件中):

onBackPress(): boolean | void {


  console.log(`this.fbtWebviewController.accessBackward():${this.fbtWebviewController.accessBackward()}`)
//判断web页面是否可后退,
if (this.fbtWebviewController.accessBackward()) {
  //若可回退,后退一个web页面
  this.fbtWebviewController.backward();
  return true
} else {
  let currentTime = systemDateTime.getTime(false)
  console.info('Current time: ' + JSON.stringify(currentTime))
  //通过设置时间间隔来判断是否退出应用
  if (currentTime - this.exitTime > 2000) {
    this.exitTime = currentTime
    promptAction.showToast({ message: '再按一次退出应用' })
    return true
  } else {
    return false
  }
}
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
分享
微博
QQ
微信
回复
2024-12-25 18:12:39


相关问题
获取返回手势方法
1239浏览 • 1回复 待解决
HarmonyOS 如何禁用页面返回手势
944浏览 • 1回复 待解决
HarmonyOS 禁用滑动返回手势问题
699浏览 • 1回复 待解决
HarmonyOS web组件拦截返回手势
640浏览 • 1回复 待解决
HarmonyOS 拦截系统返回手势问题
1582浏览 • 1回复 待解决
HarmonyOS webview自定义长按手势事件
967浏览 • 1回复 待解决
HarmonyOS如何实现自定义布局内置手势
989浏览 • 0回复 待解决
手势滑动退出HarmonyOS应用的规格
942浏览 • 1回复 待解决