当前位置: 首页 > article >正文

HarmonyOS6 ArkTS NavDestination

文章目录核心特性基础使用规范1. 组件层级关系2. 核心属性配置1标题配置title()2返回按钮控制hideBackButton()完整示例完整代码核心功能实现解析1. 主/子页面切换2. 滚动与标题栏联动核心亮点1定义滚动偏移量状态变量2监听滚动组件的偏移量3动态切换标题栏模式3. 返回按钮按需显隐4. 避免编译校验警告总结核心特性容器化页面定义作为独立页面的根容器可包裹任意UI组件与业务逻辑实现页面内容的模块化封装与Navigation深度联动依赖Navigation容器实现标题栏模式切换、页面路由管理支持多页面间的无缝跳转灵活的标题栏配置可自定义页面标题控制返回按钮的显隐适配不同页面的导航需求滚动联动能力可与Scroll、List等滚动组件配合实现标题栏模式随滚动偏移量动态切换打造沉浸式体验自动安全区适配无需额外配置即可实现内容区与系统状态栏、导航栏的自适应避免内容被系统组件遮挡。基础使用规范1. 组件层级关系NavDestination必须作为Navigation组件的直接子组件使用无法单独渲染其页面展示与路由行为由外层Navigation容器管理基础层级结构为Column根容器→ Navigation → NavDestination → 页面内容组件。2. 核心属性配置1标题配置title()用于设置当前页面的标题文本是NavDestination的基础属性直接决定页面标题栏的核心展示内容示例.title(首页)。2返回按钮控制hideBackButton()布尔类型参数控制标题栏中返回按钮的显隐hideBackButton(true)隐藏返回按钮适用于应用首页、根页面hideBackButton(false)显示返回按钮适用于子页面、详情页符合用户的导航操作习惯。完整示例完整代码EntryComponentstruct NavDestinationFullDemo{StateisShowSubPage:booleanfalse;StatescrollOffset:number0;build(){Column(){// 主页面带Scroll滚动列表与标题栏联动if(!this.isShowSubPage){Navigation(){NavDestination(){Scroll(){Column({space:30}){Text(NavDestination 主页面).fontSize(30).fontWeight(FontWeight.Bold).fontColor(0x165DFF).margin({top:20})Text(✅ 滚动联动标题栏\n✅ 自动适配安全区\n✅ 滚动时可触发沉浸式效果).fontSize(16).fontColor(Color.Grey).textAlign(TextAlign.Center).lineHeight(26)// 滚动测试列表显式指定参数类型避免校验警告ForEach([1,2,3,4,5,6,7,8,9,10],(item:number){Text(列表项${item}—— 滚动测试内容).width(100%).height(60).backgroundColor(Color.White).borderRadius(12).textAlign(TextAlign.Center).fontSize(16).shadow({radius:2,color:#10000000})},(item:number)item.toString())Button(打开子页面带滚动联动).width(90%).height(52).backgroundColor(0x165DFF).fontColor(Color.White).fontSize(18).borderRadius(26).margin({top:20,bottom:30}).onClick((){this.isShowSubPagetrue;})}.width(100%).padding({left:20,right:20})}// 监听滚动偏移量为标题栏联动提供数据.onScroll((xOffset:number,yOffset:number){this.scrollOffsetyOffset;}).width(100%).height(100%).backgroundColor(0xF5F7FA)}// 主页面隐藏返回按钮设置标题.title(首页).hideBackButton(true)}// 滚动联动标题栏模式偏移量10时为Mini模式否则为Free模式.titleMode(this.scrollOffset10?NavigationTitleMode.Mini:NavigationTitleMode.Free).width(100%).height(100%)}// 子页面带List长列表默认Mini标题栏if(this.isShowSubPage){Navigation(){NavDestination(){List({space:12}){ListItem(){Text(NavDestination 子页面).fontSize(28).fontWeight(FontWeight.Bold).fontColor(0x165DFF).textAlign(TextAlign.Center).width(100%).margin({top:20,bottom:10})}// 长列表测试内容显式指定参数类型ForEach([1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20],(i:number){ListItem(){Text(详情内容${i}—— 可滚动).width(100%).height(70).backgroundColor(Color.White).borderRadius(12).textAlign(TextAlign.Center).fontSize(16).padding(10).shadow({radius:2})}},(i:number)i.toString())// 子页面返回按钮切换页面状态ListItem(){Button(返回主页面).width(90%).height(52).backgroundColor(0x165DFF).fontColor(Color.White).fontSize(18).borderRadius(26).margin({top:20,bottom:40}).onClick((){this.isShowSubPagefalse;})}}.width(100%).height(100%).backgroundColor(0xF5F7FA).padding({left:16,right:16})}// 子页面显示返回按钮设置标题.title(详情页).hideBackButton(false)}// 子页面默认使用Mini标题栏模式.titleMode(NavigationTitleMode.Mini).width(100%).height(100%)}}.width(100%).height(100%)}}运行效果如图页面滑动到底部当点击按钮核心功能实现解析1. 主/子页面切换通过State装饰的布尔变量isShowSubPage控制页面渲染逻辑当isShowSubPage false时渲染主页面NavDestination当isShowSubPage true时渲染子页面NavDestination通过按钮的onClick事件修改变量状态实现无路由的页面快速切换适用于简单的页面交互场景。2. 滚动与标题栏联动核心亮点这是HarmonyOS 6中NavDestination的高频实战能力实现步骤分为3步1定义滚动偏移量状态变量通过State scrollOffset: number 0存储滚动组件的垂直偏移量作为标题栏模式切换的判断依据2监听滚动组件的偏移量为Scroll组件绑定onScroll事件实时获取垂直滚动偏移量yOffset并赋值给scrollOffset.onScroll((xOffset:number,yOffset:number){this.scrollOffsetyOffset;})3动态切换标题栏模式通过Navigation的titleMode属性根据scrollOffset的值动态切换标题栏模式NavigationTitleMode.Free自由模式标题栏为大标题样式适用于页面顶部未滚动状态NavigationTitleMode.Mini迷你模式标题栏为小标题样式适用于页面滚动后的状态核心代码.titleMode(this.scrollOffset10?NavigationTitleMode.Mini:NavigationTitleMode.Free)当页面向上滚动偏移量超过10vp时标题栏自动从大标题切换为小标题向下滚动回到顶部时恢复大标题实现沉浸式的滚动联动效果。3. 返回按钮按需显隐根据页面的层级属性为不同NavDestination配置hideBackButton主页面作为应用的根页面无需返回按钮配置.hideBackButton(true)子页面作为从主页面跳转的详情页需要返回按钮配置.hideBackButton(false)符合HarmonyOS的官方设计规范提升用户的操作体验。4. 避免编译校验警告在使用ForEach渲染列表时显式指定回调参数的类型如item: number、i: number并让key函数返回字符串类型如item.toString()避免ArkTS校验出现Type inference in case of generic function calls is limited、Expected 0 type arguments, but got 1等警告保证代码符合HarmonyOS 6的严格校验规范。总结NavDestination作为HarmonyOS 6中构建页面体系的核心组件其核心价值在于实现了页面的模块化封装与与Navigation、滚动组件的深度联动。通过简单的属性配置即可实现标题自定义、返回按钮控制、安全区自适应等基础能力结合Scroll/List的滚动监听还能实现沉浸式的标题栏联动效果是HarmonyOS 6 ArkTS开发中不可或缺的组件。如果这篇文章对你有帮助欢迎点赞、收藏、关注你的支持是持续创作的动力

相关文章:

HarmonyOS6 ArkTS NavDestination

文章目录核心特性基础使用规范1. 组件层级关系2. 核心属性配置(1)标题配置:title()(2)返回按钮控制:hideBackButton()完整示例完整代码核心功能实现解析1. 主/子页面切换2. 滚动与标题栏联动(核…...

利用Python建立图书馆系统

题目描述设计一个简单的图书借阅管理系统。系统初始包含若干本图书,每本图书的信息包括:书号(字符串)书名(字符串)作者(字符串)库存数量(整数)另外&#xff0…...

#SpringBoot 日志配置完整文档(SLF4J + Logback + Druid适配)

一、前言 本文档详细说明 SpringBoot 项目中「SLF4J Logback」日志框架的完整配置,包含 Maven 依赖、application.yml 日志级别配置、logback-spring.xml 完整配置,重点覆盖:日志路径(相对/绝对)、日志格式、日志级别…...

Typora笔记完美发布CSDN:图片自动上传+排版优化保姆级教程

Typora 图像上传 完整操作说明 发现问题 当我们使用Typora这款强大的Markdown编辑器记录笔记时,经常会遇到一个让人困扰的问题:在将笔记上传到CSDN博客或者其他网站上后,图片无法正确显示。这不仅会大大降低我们的效率,还可能给…...

5步轻松搞定WE Learn高效学习:AI自动答题+智能刷课提升300%效率

5步轻松搞定WE Learn高效学习:AI自动答题智能刷课提升300%效率 【免费下载链接】WELearnHelper 显示WE Learn随行课堂题目答案;支持班级测试;自动答题;刷时长;基于生成式AI(ChatGPT)的答案生成 项目地址: https://gi…...

告别枯燥单选按钮:用QCommandLinkButton打造Windows风格向导页(Qt5.15+)

告别枯燥单选按钮:用QCommandLinkButton打造Windows风格向导页(Qt5.15) 在传统的向导式界面设计中,单选按钮(QRadioButton)长期占据主导地位。但当我们追求更符合现代用户体验的设计时,这种上世…...

2025届毕业生推荐的降重复率工具推荐

Ai论文网站排名(开题报告、文献综述、降aigc率、降重综合对比) TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 面对知网最近升级的AI生成内容识别算法,要想降低论文里的AI痕迹,得从…...

3分钟掌握百度网盘直连下载:告别限速的终极解决方案

3分钟掌握百度网盘直连下载:告别限速的终极解决方案 【免费下载链接】baidu-wangpan-parse 获取百度网盘分享文件的下载地址 项目地址: https://gitcode.com/gh_mirrors/ba/baidu-wangpan-parse 还在为百度网盘龟速下载而烦恼吗?百度网盘直连地址…...

【AGI】Harness Engineering 深度解析:AI Agent 时代的工程范式革命

Harness Engineering 深度解析:AI Agent 时代的工程范式革命 引言:当 AI Agent 开始"翻车" 一、什么是 Harness Engineering? 二、Harness Engineering 的三大核心领域 2.1 架构约束:为 AI 划定"奔跑边界" 2.2 反馈闭环:让 AI"自愈"而非&qu…...

2026届最火的五大AI辅助论文网站实测分析

Ai论文网站排名(开题报告、文献综述、降aigc率、降重综合对比) TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 有着自动剖析研究领域热点能力的AI开题报告工具,是依托自然语言处理与知识图谱技…...

AudioSeal部署教程:HTTPS反向代理配置(Nginx)保护7860端口Web访问

AudioSeal部署教程:HTTPS反向代理配置(Nginx)保护7860端口Web访问 1. 项目概述 AudioSeal是Meta开源的专业语音水印系统,主要用于AI生成音频的检测和溯源。这个工具能够帮助用户: 在音频中嵌入不可见的水印信息从音…...

抖音风控参数‘bd-ticket-guard-client-data’深度解析:从X.509证书到请求签名的完整链路

抖音风控参数‘bd-ticket-guard-client-data’的技术内幕:从证书链到请求签名的安全架构 在移动互联网时代,平台风控系统如同数字世界的免疫系统,而bd-ticket-guard-client-data这类参数就是其识别"自我"与"非我"的关键标…...

PyTorch 笔记学习(15) : aot_autograd.py 解析

本文是 聚焦 torch/_functorch/aot_autograd.py 这一 1863 行的关键文件。它是 torch.compile 编译栈中承上启下的核心枢纽——向上承接 TorchDynamo 捕获的 FX 图,向下将前向/反向图交付给 Inductor 代码生成后端。理解这个文件,就掌握了 PyTorch 2.0 编…...

CTF隐写术入门:从图片LSB到音频频谱的5种实战技巧

CTF隐写术实战指南:从图片LSB到音频频谱的5种核心技巧 第一次参加CTF比赛时,我盯着那道图片隐写题整整两小时毫无头绪——直到偶然用Stegsolve点开Alpha通道,flag赫然出现在眼前。这种"啊哈时刻"正是隐写术的魅力所在。不同于密码…...

模数OPC社区在北京亦庄正式启航

打造AI创业“超级孵化器”,首批迎来20个创业团队入驻4月8日,在北京经济技术开发区(简称“北京经开区”,又称“北京亦庄”)举办的AI FUTURE北京亦庄AI未来大会上,一个全新的AI创业孵化空间——模数OPC&#…...

沈阳城市路灯工厂哪家强

大家好,我是你们的老朋友小明。今天咱们聊聊沈阳的路灯工厂,看看哪家更靠谱。说到这事儿,我可是做了不少功课,也走访了好几家工厂,希望我的分享能帮到正在为选路灯头疼的你。一、沈阳路灯市场现状1. 市场竞争激烈在沈阳…...

OpenClaw进阶:Phi-3-mini-128k-instruct模型微调与技能适配

OpenClaw进阶:Phi-3-mini-128k-instruct模型微调与技能适配 1. 为什么需要定制化模型 去年我在用OpenClaw处理医疗文献整理时遇到一个尴尬问题:当我让AI助手提取论文中的药物相互作用数据时,它总是把"ACE抑制剂"错误归类为"…...

Graphormer分子预测精度解析:OGB榜单指标解读与科研论文复现指南

Graphormer分子预测精度解析:OGB榜单指标解读与科研论文复现指南 1. 引言:Graphormer模型概述 Graphormer是一种基于纯Transformer架构的图神经网络,专门为分子图(原子-键结构)的全局结构建模与属性预测而设计。与传…...

docker容器最大压缩

压缩前先查找出无用的占用空间内容:find / -type f -size 10M -exec ls -lh {} \;上面大于10M的文件都搜出来了压缩容器为镜像:最大压缩(代价时间长):docker export 容器ID | gzip -9 > 名字.tar.gz一般压缩&#x…...

被“乖乖”洗脑了?《家事法庭》那个“中年油腻男”,竟是剧抛脸老熟人!

近日,聚焦家事审判的法院题材电视剧《家事法庭》正式登陆央视一套黄金档及多家网络平台。自3月25日开播以来,该剧凭借对民生百态的深刻刻画以及一众实力派演员的精湛演绎,迅速引爆收视与口碑热潮。剧中,演员郭家诺饰演的何秀光一角…...

Gemini + Claude写论文已经无人能敌了

写论文最耗精力的不是动笔,而是前期文献整理、框架搭建和后期反复修改。这套方法的核心是让不同AI各取所长,加速机械性工作,把时间留给真正需要思考的部分。工具分工:Gemini擅长信息检索和批量处理,适合前期文献梳理&a…...

前端性能监控看板

metricsperformance.getEntriesByType(navigation)[0]把获取数组的第一个元素给metrics...

RISC-V 基金会 Data Center SIG 第八次会议圆满结束,围绕AIOE和TG推进展开

一直以来,龙蜥社区在 RISC-V 生态建设中持续投入,并积极贡献上游社区。RISC-V International Data Center SIG 第八次会议内容见下: Atomic I/O Enqueue(AIOE )扩展提案 v4 提案评审 RISC-V International Data Cent…...

5个专业级步骤:NVIDIA Profile Inspector开源工具的显卡性能优化指南

5个专业级步骤:NVIDIA Profile Inspector开源工具的显卡性能优化指南 【免费下载链接】nvidiaProfileInspector 项目地址: https://gitcode.com/gh_mirrors/nv/nvidiaProfileInspector NVIDIA Profile Inspector是一款免费开源的显卡配置工具,能…...

PyTorch 2.8镜像实战:新闻媒体机构AI短视频批量生成与审核系统部署

PyTorch 2.8镜像实战:新闻媒体机构AI短视频批量生成与审核系统部署 1. 项目背景与需求分析 新闻媒体机构每天需要处理大量视频内容,传统视频制作流程面临三大挑战: 时效性压力:突发新闻需要快速生成视频报道人力成本高&#xf…...

立创庐山派K230双系统实战:基于Linux+RT-Smart SDK的RTL8189FTV WiFi模块配网与脚本自动化

1. 立创庐山派K230开发板与双系统环境简介 第一次拿到立创庐山派K230开发板时,我就被它独特的双系统架构吸引了。这款开发板采用了LinuxRT-Smart的双系统设计,既能享受Linux丰富的软件生态,又能利用RT-Smart实时系统的优势。在实际项目中&am…...

OpenClaw 微信通道配置与部署速查

一、前置核查(必做)版本适配微信:iOS≥8.0.70、安卓≥8.0.69,未达标则更新至最新版。OpenClaw:需为最新稳定版,执行openclaw --version验证,异常则重新获取部署包。环境与权限网络:开…...

FLUX.1-dev旗舰版画质巅峰:多组高清AI绘画作品效果对比

FLUX.1-dev旗舰版画质巅峰:多组高清AI绘画作品效果对比 1. 光影质感革命:FLUX.1-dev的视觉突破 当第一次看到FLUX.1-dev生成的图像时,大多数人都会产生同一个疑问:这真的是AI画的吗?作为当前开源界最强的Text-to-Ima…...

Qwen3-ForcedAligner-0.6B真实效果:实时录音场景下口音适应与断句准确性展示

Qwen3-ForcedAligner-0.6B真实效果:实时录音场景下口音适应与断句准确性展示 1. 项目概述 Qwen3-ForcedAligner-0.6B是阿里巴巴基于Qwen3-ASR-1.7B和ForcedAligner-0.6B双模型架构开发的本地智能语音转录工具。这个工具最大的特点是能够在完全离线的环境下&#x…...

比迪丽模型Python安装全指南:从环境配置到第一个艺术生成

比迪丽模型Python安装全指南:从环境配置到第一个艺术生成 1. 开篇:为什么选择比迪丽模型? 如果你对AI绘画感兴趣,可能已经听说过比迪丽模型。这是一个强大的文本生成图像模型,能够根据你的文字描述创作出令人惊艳的艺…...