HarmonyOS 退出app进行手势拦截

鸿蒙原生APP开发之应用自定义弹窗开发实践 弹窗是应用开发需要实现的基础功能,通常用来展示用户当前需要或用户必须关注的信息或操作,可用于广告、中奖、警告、软件更新等与用户交互响应的操作。在应用开发中,经常需要实现自定义UI和功能要求,系统弹窗往往无法满足需求,此时就需要使用到自定义弹窗了。合理选择不同的系统能力实现弹窗,有利于提升应用开发效率,实现更好的功能需求,因此了解自定义弹窗的选型和差异非常重要。在应用开发中,为了选择出合适的弹窗选型,从使用场景上,需要重点关注以下两点:弹窗与界面代码解耦。 阅读详情

在我们日常开发过程中,为了避免用户由于误触返回键导致的误退出app,我们常常要对用户的退出手势进行第一次拦截,第二次通过的操作,现在,向大家介绍一种退出app手势拦截及通过判断方法

文档地址:https://qcnda4r17bnp.feishu.cn/wiki/He97wqZt1iP4BLkQcn1cgrsrnYb

import { promptAction } from '@kit.ArkUI';

@Entry
@Component
struct Index {
  @State message: string = 'Hello World';
  lastBackPressTime: number = 0
  isWaitingSecond: boolean = false

  onBackPress(): boolean | void {
    const nowTime: number = Date.now()
    if (!this.isWaitingSecond || nowTime - this.lastBackPressTime > 2000) {
      this.lastBackPressTime = nowTime
      this.getUIContext().getPromptAction().showToast({
        message: '再按一次退出app'
      })
      this.isWaitingSecond = true
      // 进行阻止退出
      return true
    }
    // 如果不是以上两种状况,应当给予通行
    this.isWaitingSecond = false
    // 予以通行
    return false
  }

  build() {
    RelativeContainer() {
      Text(this.message)
        .id('HelloWorld')
        .fontSize($r('app.float.page_text_font_size'))
        .fontWeight(FontWeight.Bold)
        .alignRules({
          center: { anchor: '__container__', align: VerticalAlign.Center },
          middle: { anchor: '__container__', align: HorizontalAlign.Center }
        })
        .onClick(() => {
          this.message = 'Welcome';
        })
    }
    .height('100%')
    .width('100%')
  }
}

实现效果:

第一次返回时

 

HarmonyOS NEXT - 记事本实例三 - 长按事件(变更分类信息和批量删除操作) 通过多选模式和弹框设计实现记录本App内容的分类功能,其优势在于操作效率高、用户体验好、界面简洁、用户体验好、界面简洁且扩展性强。在HarmonyOS中,技术实现和用户体验上都是可行的。 阅读详情

相关推荐

CanOpen PDO映射实战:从原理到配置的完整指南

本文详细解析了CanOpen PDO映射的原理与配置流程,从基础通信机制到实战配置步骤,涵盖禁用PDO、清空映射、逐项映射和使能PDO等关键环节。特别针对西门子G120变频器、台达伺服和倍福CX控制器等不同厂商设备,提供了具体的配置技巧和常见问题排查指南,帮助工程师快速掌握多厂商设备间的PDO通信配置。

weixin_30718391的博客 517

HarmonyOS NEXT 游戏APP开发中如何正确拦截退出手势

侧滑秒退被认定严重问题,说白了就是系统给了你拦截口但你没用。覆写→→ 弹确认或静默存档后再,这三步走完,验收此项必过。

Jack20的博客 1万+

自定义串口通讯协议

自定义串口通讯协议的实现方法

qq_44826038的博客 2172

Flutter for OpenHarmony:UI 细节微调与 HarmonyOS 特有手势适配指南

本文介绍了如何优化Flutter应用在鸿蒙系统上的UI细节和手势适配。主要内容包括:1)沉浸式状态栏与导航栏的动态控制,通过SystemUiOverlayStyle实现透明效果;2)解决底部Home Indicator遮挡问题,使用SafeArea或动态padding;3)处理侧滑返回手势冲突,通过增加边缘盲区或PopScope拦截;4)调整字体渲染,限制系统字体缩放并优化中英文混排对齐。这些细节优化能显著提升应用在鸿蒙设备上的原生体验。

jiang_style的博客 1万+

端侧视觉赋能手游自动化:YOLOv8+NCNN实现低风险挂机与广告拦截

本文提出一种基于端侧AI的移动游戏自动化解决方案,采用YOLOv8目标检测和NCNN推理框架,结合AutoJS实现"感知-决策-执行"闭环。方案通过轻量化模型训练、多分辨率适配和行为拟态优化,解决了传统脚本的适配性和风控问题。关键技术包括:构建游戏专属数据集、模型量化优化、广告拦截和挂机功能实现,具有本地运行、安全稳定等特点,为个人开发者提供了一套完整的自动化开发框架。

milk416666的博客 1265

蓝牙6.0的‘新雷达’:Channel Sounding信道探测,真能比UWB更香吗?

本文探讨了蓝牙6.0的Channel Sounding信道探测技术在室内定位领域的应用潜力。通过与UWB技术的对比分析,揭示了其在成本、功耗和兼容性方面的优势,特别是在智能门锁、物品追踪等场景中的商业价值。Channel Sounding技术不仅具备亚米级精度,还能通过现有蓝牙设备实现零边际成本部署,为物联网应用提供了新的解决方案。

weixin_29288313的博客 333

鸿蒙PC实战_鸿蒙Cordova开发踩坑记录:手势冲突的“三国杀“

摘要:本文探讨了Web轮播图与Native侧滑返回手势冲突的解决方案。系统级手势优先级高,会截获边缘触摸事件,导致用户无法滑动图片。分析了三种方案:CSS touch-action(效果有限)、ArkWeb拦截(存在异步延迟问题)和设计避让(最稳妥)。建议通过内缩布局、边缘留白等UI设计避开系统手势区域,仅在游戏类应用考虑全局禁用系统手势。核心结论:应通过合理设计规避冲突,而非与系统手势对抗。

2501_92232234的博客 873

Microchip Studio 7.0 从零开始:下载、安装到首个AVR工程实战

本文为AVR单片机开发新手提供了Microchip Studio 7.0的完整入门指南。从官方下载、避坑安装,到创建首个GCC C工程、编写LED闪烁代码,再到项目配置、仿真调试与程序烧录,手把手带你完成从零到一的实战过程,是掌握AVR开发环境的必备教程。

weixin_29200741的博客 522

鸿蒙5.0 APP开发案例分析:自定义弹窗开发实践

弹窗是应用开发需要实现的基础功能,通常用来展示用户当前需要或用户必须关注的信息或操作,可用于广告、中奖、警告、软件更新等与用户交互响应的操作。在应用开发中,经常需要实现自定义UI和功能要求,系统弹窗往往无法满足需求,此时就需要使用到自定义弹窗。合理选择不同的系统能力实现弹窗,有利于提升应用开发效率,实现更好的功能需求,因此了解自定义弹窗的选型和差异非常重要。@CustomDialog弹窗PromptAction弹窗UIContext.getPromptAction弹窗bindsheet。

mn_xiaona666的博客 1186

精度与速度双突破:YOLOv8-Pose 在 RK3588 上实现高性能人体姿态分析部署

本教程从YOLOv8-pose模型的姿态识别训练,到RK3588的边缘量化部署,为你打造了一套“高精度+高实时性+低成本”的人体姿态分析解决方案。无论是健身动作纠正、智能安防行为检测,还是工业人员姿态监控,这套技术都能直接复用——你只需替换数据集与业务逻辑,即可快速落地专属的边缘AI姿态识别系统。如果你在实践中遇到任何卡点,欢迎随时交流。记住,人体姿态识别的价值在于“关键点准、推理快、部署易”,而这三者的平衡,正是你通过本教程能掌握的核心能力。

know_F0727的博客 434

【Arduino 动手做】六舵机自平衡 Rotary Stewart 平台

《Arduino六舵机自平衡Rotary Stewart平台项目》 该项目展示了一个基于Arduino的六自由度Rotary Stewart平台,通过六个舵机实现动态平衡控制。设计采用激光切割框架和TAMIYA 70171套件,提供详细组装指南和开源固件(GitHub可获取)。开发者丹·罗耶分享了3D打印文件、视频演示及运动学优化需求,强调该平台可扩展应用于游戏控制(如Kerbal Space Program)或教育领域。项目链接包含完整资源包,鼓励用户参与改进并分享创作成果。该案例体现了Arduino在机

雕爷学编程 1092

【HarmonyOS 5】鸿蒙页面和组件生命周期函数

关键点在于函数名字中的page,例如onPageShow,onPageHide这两个就是页面独有。并且还有个特殊的函数,即:返回按钮触发函数,onBackPress。只需要记住,只有页面才能响应返回按钮即可。在 ArkUI 中,页面组件指的是被@Entry装饰的组件,其拥有独特的生命周期接口,这些接口对页面在不同状态下的行为控制起着关键作用。build 方法执行完毕后调用,可用于数据初始化或额外的 UI 调整。首先我们需要理解页面和自定义组件的概念。用户点击返回按钮时调用。组件挂载到页面后调用。

路漫漫亦无涯 1304

鸿蒙实战_鸿蒙Cordova开发踩坑记录:物理返回键的“劫持“

摘要:本文探讨了在Android/鸿蒙系统中如何优化Web App的返回键逻辑,避免用户误退出应用。针对单页应用(SPA)特性,提出了两种解决方案:1)通过ArkTS拦截系统返回事件,实现页面内回退和双击退出功能;2)对于复杂SPA应用,采用"JS主控模式",由前端路由决定处理逻辑。文章详细介绍了技术实现方案,包括Web组件配置、返回事件拦截链构建,以及处理异步调用的死锁问题,为Hybrid App开发提供了最佳实践建议。(150字)

小淼淼的博客 490

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

【每日学点HarmonyOS Next知识】清除缓存、弹窗后退手势、读取路由配置文件、相对布局高度自适应、背景颜色透明

【每日学点HarmonyOS Next知识】清除缓存、弹窗后退手势、读取路由配置文件、相对布局高度自适应、背景颜色透明

轻口味的专栏 619

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

HarmonyOS API 23 ArkTS 实战:实现一个轻量级 PDF 文本简易阅读器

本文基于HarmonyOS NEXT 6.1 + API 23纯血最新架构,完整落地轻量级PDF文本简易阅读器工程化实训项目。

qyszwq的博客 449

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

HarmonyOS NEXT 使用Navigation实现多设备适配案例,面试被逆袭是什么感觉

有很多小伙伴不知道学习哪些鸿蒙开发技术?不知道需要重点掌握哪些鸿蒙应用开发知识点?而且学习时频繁踩坑,最终浪费大量时间。所以有一份实用的鸿蒙(HarmonyOS NEXT)资料用来跟着学习是非常有必要的。这份鸿蒙(HarmonyOS NEXT)资料包含了鸿蒙开发必掌握的核心知识要点,内容包含了。

2401_84181070的博客 627

助力18大行业实践,鸿蒙应用开发常见问题手册来了!(第三期)

手册覆盖了应用开发全流程(开发、测试、发布)中的高频痛点,提供架构、功能、版本、交互设计等开发常见问题的处理方案,针对不同行业应用较普遍的故障问题给出高效的解决路径,展示应用上架和分发过程中的常例问题解决办法。随着HarmonyOS生态的蓬勃发展,越来越多的开发者投身应用创新,开发过程中可能遇到各种技术挑战,为优化您的开发体验,我们倾力打造了这份HarmonyOS。在工程级build-profile.json5中,如何解决product的label配置未生效的问题。

yaomoguiguai242的博客 834

【Flutter for open harmony 】Flutter三方库Dio网络请求+熬夜记录列表的鸿蒙化适配与实战指南

本文分享了Flutter在OpenHarmony上的开发实践,重点解决Dio网络请求适配问题。作者开发了一款熬夜健康管理APP,在鸿蒙适配过程中遇到三个典型问题:网络权限声明不完整导致请求拦截、页面销毁后异步回调崩溃、下拉刷新机制差异引发无限加载。文章详细记录了每个问题的排查过程和解决方案,包括添加详细权限声明、组件挂载状态判断、更换下拉刷新组件等关键步骤。同时提供了完整的代码实现,包含数据模型定义、Dio封装和列表页面开发,特别针对鸿蒙平台进行了优化适配。通过具体案例展示了Flutter在鸿蒙生态中的开发

2401_88333780的博客 559

Flutter for OpenHarmony深度定制:HarmonyOS ArkTS API 24 仿原生系统的侧滑删除与批量操作列表

本项目通过实现侧滑删除与批量操作列表,展示了 Flutter 中列表交互开发的多个高级技巧:首先是组件的泛型化设计。通过泛型参数,组件可以适配任意业务数据类型,大大提高了复用性。这是 Flutter 中设计可复用组件的重要方法。其次是 Dismissible 组件的深入应用。项目不仅实现了基本的侧滑删除,还通过 confirmDismiss 回调的巧妙使用,实现了自定义删除确认逻辑和与外部数据的协调。第三是多模式交互的设计。

2301_79516858的博客 381

聚合小说、漫画、图片、文章、音乐、影视的app源码

聚合资源APP 1.5.0版本更新内容摘要 功能优化: 新增首页快捷入口(天气跳转、访问记录等)和手势密码锁功能 浏览器页面增加二维码分享和拦截跳转功能 视频播放器改用webview实现,减小安装包体积 优化漫画/图片阅读页支持双指缩放 问题修复: 修复海报分享生成二维码卡顿问题 解决本地资源重命名无响应问题 修正音频播放记录显示位置 平台支持: 兼容Android/iOS/鸿蒙系统 支持Vue2/Vue3框架开发 免责声明: 项目不提供内置资源 用户需自行承担使用风险 禁止用于商业或违法用途 该版本重点优

u014765393的博客 1256

HarmonyOS :底部导航 — 构建 Tab 导航栏的标准模式

底部导航(Bottom Navigation)是一个模拟主流 App 底部 Tab 切换的演示应用。四个标签页(首页、发现、消息、我的)各自关联不同的页面内容,点击标签平滑切换内容区域。底部导航栏是移动应用中最常见的导航模式,iOS 的 UITabBar 和 Android 的 BottomNavigationView 都采用类似设计。在 HarmonyOS 中,底部导航的实现没有使用专门的 TabBar 组件(虽然有Tabs组件),而是通过RowForEach手动构建导航栏,配合@State。

qizayaoshuap的博客 237

轻规划鸿蒙开发实战8:AI 防窥保护,多面孔敏感视线追踪与秒级防窥屏阻断

隐私安全是一切自我规划的前提。本文将深入讲解如何调用 HarmonyOS 原生 Device Security Kit 设备安全套件,借助端侧 NPU 神经网络进行非机主视线投射追踪,并实战实现当旁人偷窥屏幕时,秒级毛玻璃化遮蔽愿景信息的 AI 防窥保护功能。

轻口味的专栏 1万+

【Flutter for OpenHarmony】训练营 Day 8-11:架构升级——底部导航实现与模块化重构

本教程指导开发者将Flutter项目从Demo升级为工程化应用。重点介绍了底部导航栏实现(使用IndexedStack保持页面状态)、工程目录重构(采用MVC/MVVM分层架构)以及鸿蒙环境下的特殊处理(如返回键管理和生命周期优化)。教程包含实战代码示例,并针对常见问题提供解决方案,包括页面切换数据刷新、路径自动修复等,帮助开发者构建具备商业化App雏形的多页应用。

2301_80790323的博客 905
上一篇: 通过弹窗控制类进行弹窗及弹窗控制
下一篇: HarmonyOS px转换vp 方法
方天画戟的博客
博客等级 码龄1年 2粉丝 15原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值