Unity屏幕适配实战:安全区处理与刘海屏兼容方案
1. 项目概述为什么Unity屏幕适配是移动开发的“必修课”如果你做过Unity移动端开发尤其是手游肯定遇到过这样的场景在你自己那台1080P的测试机上UI布局完美无瑕按钮大小合适文字清晰可见。但当你把APK发给测试同事或者直接上架应用商店后反馈就来了——“我的手机上按钮跑到屏幕外面了”、“这个刘海把我的血条挡住了”、“为什么在平板上界面变得这么小”。这些问题十有八九都指向同一个核心症结屏幕适配没做好。Unity的Screen类以及围绕它展开的一系列适配策略就是解决这些“水土不服”问题的工具箱。这绝不仅仅是设置一个“自适应”那么简单。从早期的16:9“安全区”到如今层出不穷的全面屏、刘海屏、挖孔屏、折叠屏移动设备的屏幕形态和分辨率已经变得极其碎片化。一个合格的Unity开发者必须像裁缝一样为不同尺寸、不同比例的“布料”量体裁衣确保游戏或应用的UI在任何设备上都能正确、美观地呈现。这次我们就来深入聊聊Unity屏幕适配的实战特别是让很多开发者头疼的刘海屏处理。我会结合自己踩过的坑和总结的经验从原理到代码给你一套可以直接“抄作业”的完整方案。无论你是刚接触Unity UI的新手还是想优化现有项目的老鸟相信都能从中找到有用的东西。2. 核心思路拆解从“简单粗暴”到“精细化管理”在深入代码之前我们先理清适配的核心逻辑。早期的适配思路比较“粗放”主要依赖Canvas Scaler和锚点Anchors。Canvas Scaler的“Scale With Screen Size”模式配合一个参考分辨率比如1920x1080能解决大部分不同分辨率下的整体缩放问题。锚点系统则让UI元素能够相对于父Canvas或屏幕边缘保持相对位置。这套组合拳在屏幕长宽比变化不大时比如都是从16:9到18:9还算管用。但当刘海、挖孔这些“异形区域”出现后问题就复杂了。屏幕不再是完整的矩形顶部、底部或侧边出现了不可用的区域。如果我们还简单地把UI铺满整个Screen.width和Screen.height关键的游戏信息如血量、分数、设置按钮就很可能被遮挡。因此现代Unity屏幕适配的核心思路升级为“安全区Safe Area驱动”。我们不再把整个屏幕视为可用的画布而是先向系统iOS的Safe Area API Android的Cutout API或通过计算获取一个保证内容不被遮挡的矩形区域。然后让我们的UI布局以这个“安全区”为基准进行排列和缩放。这就像在相框里又放了一个内衬确保照片无论如何都不会被相框的边缘压住。3. 核心工具解析Unity Screen类与相关APIUnityEngine.Screen类是我们获取屏幕信息的门户。但要注意它提供的是物理屏幕的原始数据。3.1 Screen类的关键属性Screen.width/Screen.height当前屏幕的像素宽度和高度。这是最基础的信息但注意在带有刘海的设备上这个值包含整个屏幕包括不可用的刘海区域。Screen.currentResolution当前屏幕的显示分辨率。Screen.safeArea这是处理刘海屏的核心属性。它返回一个Rect结构体表示屏幕上的安全区域。这个矩形区域的定义是不会被圆角、刘海、状态栏或Home Indicator小白条遮挡的区域。在非异形屏设备上safeArea通常就是整个屏幕例如x0, y0, widthScreen.width, heightScreen.height。重要提示Screen.safeArea在Unity 2017.2及以上版本中引入并且其行为在iOS和Android上依赖于系统API。在编辑器内运行时你需要手动在Game视图的“分辨率”下拉菜单中模拟不同的设备如iPhone X才能看到safeArea的变化。3.2 如何获取并应用安全区仅仅获取safeArea还不够我们需要将它应用到UI上。通常我们会创建一个全屏的Panel然后根据safeArea来调整这个Panel的四个边距。using UnityEngine; using UnityEngine.UI; public class SafeAreaAdapter : MonoBehaviour { private RectTransform _panelRectTransform; private Canvas _canvas; void Awake() { _panelRectTransform GetComponentRectTransform(); _canvas GetComponentInParentCanvas(); if (_panelRectTransform null || _canvas null) { Debug.LogError(SafeAreaAdapter 需要挂载在带有RectTransform的UI对象上并且其父级需要有Canvas。); return; } ApplySafeArea(); } void ApplySafeArea() { // 获取当前屏幕的安全区 Rect safeArea Screen.safeArea; // 将安全区的像素坐标转换为对应Canvas下的归一化坐标0-1 // 这是关键步骤因为UI布局通常基于Canvas的归一化锚点。 Vector2 anchorMin safeArea.position; Vector2 anchorMax safeArea.position safeArea.size; // 获取根Canvas的像素尺寸 Vector2 canvasPixelSize _canvas.pixelRect.size; anchorMin.x / canvasPixelSize.x; anchorMin.y / canvasPixelSize.y; anchorMax.x / canvasPixelSize.x; anchorMax.y / canvasPixelSize.y; // 将计算出的归一化坐标设置为Panel的锚点 _panelRectTransform.anchorMin anchorMin; _panelRectTransform.anchorMax anchorMax; } }这段代码的作用是让挂载此脚本的UI对象通常是一个作为UI根容器的Panel的四个边紧紧地贴合在屏幕的安全区边缘。这样所有放在这个Panel下的子UI元素默认都会处于安全区域内。3.3 不同平台的注意事项iOSScreen.safeArea直接对接苹果的safeAreaInsetsAPI行为最标准。需要特别注意iPhone的“动态岛”灵动岛区域它虽然交互但顶部中央区域仍然属于非安全区。Android情况更复杂。虽然Unity的safeArea尝试统一接口但Android厂商碎片化严重刘海、挖孔的位置、形状、大小各不相同。从Android 9API Level 28开始Google提供了DisplayCutoutAPIUnity底层会尝试使用它。但对于一些较老或深度定制的系统可能需要额外的兼容性处理。编辑器调试务必使用Game视图顶部的设备模拟下拉菜单。选择“iPhone 11 Pro Max”、“Samsung Galaxy S10”等预设可以快速查看safeArea在不同设备上的效果。你也可以自定义分辨率来模拟特殊长宽比。4. 实战适配流程构建健壮的UI适配系统一个完整的适配系统不能只依赖一个脚本。我们需要从项目结构设计开始建立一套流程。4.1 项目结构与Canvas设置Canvas设置建议使用“Screen Space - Overlay”渲染模式。将Canvas Scaler的UI Scale Mode设置为“Scale With Screen Size”并设定一个合理的Reference Resolution如1080x1920或1920x1080根据你的游戏是横屏还是竖屏。Match值通常设为0.5同时匹配宽高或根据你的UI布局侧重选择宽度(0)或高度(1)。UI层级设计我推荐一个清晰的层级结构Root Canvas最底层的Canvas。SafeArea Panel挂载上述SafeAreaAdapter脚本的全屏Panel。它的锚点Anchor应该预先设为全屏拉伸左下角(0,0)到右上角(1,1)。这个Panel是所有需要避开刘海的UI内容如游戏HUD、菜单主体的父节点。Unsafe Area Content可选如果你有某些UI元素比如全屏的背景图、粒子特效需要铺满整个物理屏幕包括刘海区域那么它们应该放在SafeArea Panel之外直接作为Root Canvas的子物体。4.2 处理特殊UI元素底部导航栏与“小白条”iOS的Home Indicator屏幕底部的小横条和Android的虚拟导航键也会占用屏幕空间。Screen.safeArea的底部区域通常已经排除了这些区域。但有时我们可能需要特别处理底部的UI比如一个固定的底部工具栏。// 在ApplySafeArea方法中可以添加对底部的特殊处理 void ApplySafeArea(bool ignoreBottom false) { Rect safeArea Screen.safeArea; Vector2 anchorMin safeArea.position; Vector2 anchorMax safeArea.position safeArea.size; Vector2 canvasPixelSize _canvas.pixelRect.size; anchorMin.x / canvasPixelSize.x; anchorMin.y / canvasPixelSize.y; anchorMax.x / canvasPixelSize.x; anchorMax.y / canvasPixelSize.y; // 如果选择忽略底部安全区例如底部工具栏希望贴底 if (ignoreBottom) { anchorMin.y 0f; // 强制锚点最小Y为0即贴紧屏幕底部 } _panelRectTransform.anchorMin anchorMin; _panelRectTransform.anchorMax anchorMax; }你可以为不同的UI容器挂载不同的适配脚本或者通过参数控制实现更灵活的布局。例如游戏主界面的血条、技能栏需要严格在安全区内而一个全屏的视频播放器则可以忽略安全区。4.3 横竖屏切换的动态适配如果你的应用支持横竖屏切换那么safeArea在旋转后会发生变化。你需要监听屏幕旋转事件并重新应用安全区。void Start() { // 初始应用一次 ApplySafeArea(); // 开始监听屏幕尺寸变化旋转会导致尺寸变化 StartCoroutine(CheckForResolutionChange()); } System.Collections.IEnumerator CheckForResolutionChange() { int lastWidth Screen.width; int lastHeight Screen.height; ScreenOrientation lastOrientation Screen.orientation; while (true) { yield return new WaitForSeconds(0.5f); // 每0.5秒检查一次避免过于频繁 if (Screen.width ! lastWidth || Screen.height ! lastHeight || Screen.orientation ! lastOrientation) { lastWidth Screen.width; lastHeight Screen.height; lastOrientation Screen.orientation; ApplySafeArea(); // 重新应用安全区 Debug.Log($屏幕分辨率或方向改变重新适配安全区。当前: {Screen.width}x{Screen.height}, 方向: {Screen.orientation}); // 这里还可以触发一个自定义事件通知其他UI模块进行更新 } } }实操心得在横竖屏切换频繁的应用中直接每帧检查Screen.safeArea或分辨率开销不大但用协程间隔检查是更优雅的做法。同时UI布局的刷新可能不是立即的有时需要在ApplySafeArea后等待一帧yield return null再更新依赖布局的组件比如ContentSizeFitter或LayoutGroup。5. 进阶技巧与疑难杂症排查即使掌握了基础方法在实际项目中还是会遇到各种“坑”。下面分享一些进阶技巧和常见问题的解决方案。5.1 应对Android厂商的“魔改”有些Android设备特别是国内某些厂商的机型其系统对DisplayCutout的支持不标准或者刘海形状非常怪异比如“水滴屏”、“药丸屏”分布在角落。这可能导致Unity获取到的safeArea不准确。应对策略手动定义安全区对于已知的问题机型可以在代码中做特殊判断。通过SystemInfo.deviceModel获取设备型号然后为这些型号硬编码一个修正值例如将安全区顶部下移特定的像素值。这虽然不优雅但在针对特定市场发布时可能是最稳妥的。Rect safeArea Screen.safeArea; string model SystemInfo.deviceModel; if (model.Contains(XiaoMi 8) || model.Contains(MI 8)) { // 针对小米8的刘海进行微调 safeArea.yMin 10f; // 将安全区顶部下移10像素 }使用第三方插件社区有一些成熟的插件如“Android Notch Kit”或“Screen Safe Area Manager”它们封装了更复杂的平台特定代码有时能提供更好的兼容性。在决定使用前最好用你的目标真机进行测试。设计容错在UI设计上留出更多的“安全边距”。不要将至关重要的信息如关闭按钮、任务文本紧贴着safeArea的边界放置。预留10-20像素的缓冲空间可以抵御大部分计算误差。5.2 与UGUI布局组件的协同工作安全区适配经常会和UGUI的LayoutGroup如VerticalLayoutGroup,HorizontalLayoutGroup,GridLayoutGroup以及ContentSizeFitter产生冲突。你可能发现应用安全区后自动布局乱了。解决方案执行顺序确保SafeAreaAdapter脚本在Awake或Start中执行Awake更早并且早于任何依赖布局计算的脚本。你可以通过Script Execution Order设置来强制SafeAreaAdapter先执行。强制重建布局在ApplySafeArea方法最后手动触发一次布局重建。LayoutRebuilder.ForceRebuildLayoutImmediate(_panelRectTransform); // 或者如果影响的是整个Canvas Canvas.ForceUpdateCanvases();分帧处理如果问题依旧尝试将布局重建延迟到下一帧。void ApplySafeArea() { // ... 计算anchorMin/Max ... _panelRectTransform.anchorMin anchorMin; _panelRectTransform.anchorMax anchorMax; StartCoroutine(RefreshLayoutNextFrame()); } IEnumerator RefreshLayoutNextFrame() { yield return null; // 等待一帧 LayoutRebuilder.ForceRebuildLayoutImmediate(_panelRectTransform); }5.3 刘海屏下的输入Raycast处理一个容易被忽略的问题是刘海区域是否应该响应UI点击通常我们不希望玩家点到被刘海遮挡的不可见按钮。Unity的Graphic Raycaster默认会基于UI元素的矩形区域进行点击检测。如果你的UI元素因为安全区适配被移走了但它的原始RectTransform边界仍然覆盖了刘海区域那么点击刘海可能会意外触发事件。检查与修复确保你的可交互UIButton, Toggle等完全位于安全区Panel内部。对于复杂的、部分在安全区外的UI比如一个很宽的滑动列表需要仔细测试其交互边界。可以使用RectTransformUtility.RectangleContainsScreenPoint来在代码中自定义点击检测逻辑排除安全区外的部分。5.4 常见问题排查速查表问题现象可能原因排查步骤与解决方案安全区适配在编辑器生效真机无效1. 真机系统版本过低不支持API。2. 玩家在系统设置中隐藏了刘海某些Android机型支持。3. Unity版本Bug。1. 检查真机系统版本iOS 11, Android 9。2. 在真机上检查系统显示设置。3. 升级Unity到较新的稳定版本如2021/2022 LTS。UI出现拉伸或压缩Canvas Scaler的Match值设置不当。根据UI设计侧重调整Match值。文字和图标为主的UI可偏向高度(1)横向布局为主的UI可偏向宽度(0)。横竖屏切换后UI位置错乱安全区未动态更新或Canvas Scaler未及时响应。实现屏幕变化监听如5.3节所示并在变化后重新应用安全区并强制刷新布局。部分Android机型底部UI被导航栏遮挡Screen.safeArea的底部值可能未包含虚拟导航栏高度。尝试使用Screen.currentResolution.height与Screen.height的差值来估算导航栏高度并手动调整安全区底部锚点。或查阅该机型的具体开发文档。刘海区域显示为黑边或背景错位全屏背景图或摄像机设置未考虑刘海。将全屏背景的UI置于安全区Panel之外。对于3D场景可能需要调整摄像机的视口Viewport Rect或使用后处理效果来填充两侧。6. 测试与优化确保万无一失适配代码写完了但工作只完成了一半。充分的测试是保证体验的关键。编辑器模拟测试充分利用Unity Game视图的设备模拟列表。覆盖主流分辨率比例如19.5:9, 20:9, 21:9和异形屏预设。真机测试这是无法替代的环节。至少准备以下几类设备iOS一款带“刘海”或“动态岛”的iPhone如iPhone 12/13/14系列一款老款非全面屏iPhone如iPhone 8/SE。Android一款原生Android如Pixel系列一款国内厂商的刘海/挖孔屏手机如华为、小米、OPPO、vivo的旗舰机型一款屏占比极高的曲面屏手机。自动化测试思路对于大型项目可以考虑编写简单的自动化测试脚本在编辑器内切换不同的模拟分辨率并对关键UI元素的位置进行截图或坐标断言确保其始终位于预期的安全区域内。最后我个人在实际项目中的体会是屏幕适配没有“银弹”。Screen.safeArea提供了一个很好的基础但你必须结合自己项目的UI设计规范进行细致的调整和大量的真机测试。尤其是在面向全球市场发布时遇到的设备千奇百怪。一个好的习惯是在项目初期就确立好以安全区为核心的UI适配框架并把它作为每个UI预制体制作的规范。这样能避免后期返工节省大量调试时间。当你在各种奇形怪状的屏幕上看到自己的应用都能完美呈现时那种成就感就是对这项细致工作最好的回报。

相关新闻

3分钟打造专属知识空间:Obsidian终极美化指南

3分钟打造专属知识空间:Obsidian终极美化指南

3分钟打造专属知识空间:Obsidian终极美化指南 【免费下载链接】awesome-obsidian 🕶️ Awesome stuff for Obsidian 项目地址: https://gitcode.com/gh_mirrors/aw/awesome-obsidian 还在为Obsidian单调的界面感到困扰吗?每次打开这个…

2026/8/5 19:36:42 阅读更多 →
Fusion 360中英术语速查表:提升工业设计效率

Fusion 360中英术语速查表:提升工业设计效率

1. 为什么需要Fusion 360英汉速查表作为一名使用Fusion 360超过五年的工业设计师,我深刻理解这款软件在跨语言使用时带来的困扰。Fusion 360作为Autodesk旗下的明星产品,其界面和功能菜单的英文术语常常成为中文用户的障碍。特别是在进行复杂建模时&…

2026/8/5 19:36:42 阅读更多 →
未来工厂需要机器人吗?越疆解读协作机器人在智能制造的发展趋势

未来工厂需要机器人吗?越疆解读协作机器人在智能制造的发展趋势

智能制造迭代浪潮下,制造业始终萦绕一个核心争议问题:未来工厂一定需要机器人吗?站在2026年产业深水区,答案已然清晰:不是工厂“可选适配”智能化设备,而是柔性化、精细化、低成本化的生产变革,…

2026/8/5 19:35:42 阅读更多 →

最新新闻

3个核心技巧:让你的Buzz音频转录效率提升300%

3个核心技巧:让你的Buzz音频转录效率提升300%

3个核心技巧:让你的Buzz音频转录效率提升300% 【免费下载链接】buzz Buzz transcribes and translates audio offline on your personal computer. Powered by OpenAIs Whisper. 项目地址: https://gitcode.com/GitHub_Trending/buz/buzz 你是否厌倦了云端音…

2026/8/5 20:20:00 阅读更多 →
毕业之家AI深度横评:10分钟生成论文,真能“一键毕业”吗?

毕业之家AI深度横评:10分钟生成论文,真能“一键毕业”吗?

在毕业论文写作压力与日俱增的今天,AI论文写作工具已经从“可选项”变成了不少学生的“刚需”。这类产品核心解决的是从选题、开题报告、文献综述到初稿生成、降重排版的全流程效率问题。今天,我们不带任何滤镜,对市面上热度极高的 毕业之家A…

2026/8/5 20:20:00 阅读更多 →
毕业之家AI深度测评:10分钟生成一篇合格论文,是真本事还是噱头?

毕业之家AI深度测评:10分钟生成一篇合格论文,是真本事还是噱头?

在论文写作压力与日俱增的当下,AI论文写作工具已从单纯的“文字拼接器”进化为涵盖选题、写作、排版、降重、查重的一站式平台。这类工具的核心价值在于解决学生从开题到答辩全流程的效率痛点。今天,我们聚焦“毕业之家AI”,看看它宣称的“十…

2026/8/5 20:20:00 阅读更多 →
2024广州网站建设排名深度解析:如何选择靠谱的合作伙伴避坑指南

2024广州网站建设排名深度解析:如何选择靠谱的合作伙伴避坑指南

咱们今天不整那些虚头巴脑的行业黑话,也不卖弄什么高深的技术架构,就作为一个在这个圈子里摸爬滚打多年的老兵,跟各位老板、各位想搞自己网站的朋友,掏心窝子说点大实话。最近好多朋友在后台私信我,说:“老师,我想做个网站,但是网上搜索一下,全是广州网站建设排名的结…

2026/8/5 20:20:00 阅读更多 →
Xfwm4主题配置文件themerc详解:自定义窗口边框样式指南

Xfwm4主题配置文件themerc详解:自定义窗口边框样式指南

Xfwm4主题配置文件themerc详解:自定义窗口边框样式指南 【免费下载链接】xfwm4-theme-collections My Xfwm/Xfce Theme Collections 项目地址: https://gitcode.com/gh_mirrors/xf/xfwm4-theme-collections Xfwm4主题配置文件themerc是自定义Xfce桌面环境窗口…

2026/8/5 20:20:00 阅读更多 →
演示文稿制作工具记录:多款 PPT 工具能力边界整理

演示文稿制作工具记录:多款 PPT 工具能力边界整理

日常工作汇报、课程教学、项目路演时,经常需要制作演示文稿。不同 PPT 工具在功能侧重、设计自由度、操作门槛、协同能力上存在明显区别。下文客观记录多款 PPT 制作工具基础能力与使用局限,本文无任何商业合作,不区分好坏优劣,仅…

2026/8/5 20:18:59 阅读更多 →

日新闻

Java缓存框架:JetCache

Java缓存框架:JetCache

TOC 一、简介 JetCache 是一个 Java 缓存抽象框架,为不同的缓存解决方案提供了统一的使用方式。 它提供的注解比 Spring Cache 更加强大。 JetCache 的注解支持原生 TTL、两级缓存以及在分布式环境中的自动刷新功能,同时你也可以通过代码直接操作 Cach…

2026/8/5 0:00:43 阅读更多 →
AD 铺铜设置十字连接,过孔全连接,新版AD的简单设置

AD 铺铜设置十字连接,过孔全连接,新版AD的简单设置

需求:通孔焊盘 十字花;过孔 Via 实心直连;贴片焊盘按需设置 AD 测试版本AD24 很多工程师踩坑:全部统一十字,导致接地过孔阻抗高、大电流发热! 一、快捷键打开规则 PCB 界面按下:D R 展开…

2026/8/5 0:00:43 阅读更多 →
AI素描转换技术深度拆解(2024最新论文+工业级落地代码):从Stable Diffusion ControlNet到LoRA微调全链路解析

AI素描转换技术深度拆解(2024最新论文+工业级落地代码):从Stable Diffusion ControlNet到LoRA微调全链路解析

更多请点击: https://kaifayun.com 第一章:AI生成素描效果 AI生成素描效果是计算机视觉与风格迁移技术融合的典型应用,其核心在于将彩色照片或RGB图像转换为具有手绘质感、明暗对比强烈、边缘清晰的单色素描图像。该过程通常依赖于深度学习模…

2026/8/5 0:00:43 阅读更多 →

周新闻

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

1. 从水管网络到最大流:一个核心问题的诞生想象一下,你是一个城市供水系统的总工程师。你的城市有多个水源(水库),需要通过一个复杂的地下管道网络,将水输送到各个居民区。每条管道都有其最大通水能力&…

2026/8/5 15:00:43 阅读更多 →
基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台…

2026/8/5 13:13:56 阅读更多 →
MATLAB xcorr函数详解:从互相关原理到四大实战应用

MATLAB xcorr函数详解:从互相关原理到四大实战应用

1. 从一次信号“找茬”说起:为什么我们需要互相关几年前,我在处理一组声学传感器数据时遇到了一个棘手的问题。我有两个麦克风记录了一段相同的音频信号,理论上它们接收到的声音波形应该非常相似,只是由于麦克风位置不同&#xff…

2026/8/5 10:20:36 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/4 13:38:24 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/4 11:09:16 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/4 13:38:40 阅读更多 →