<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Alan_rust的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Alan_rust</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Alan_rust]]></copyright><item><title><![CDATA[【ArkUI 文本展示系列】七：属性字符串——从基础样式到高级排版]]></title><link>https://blog.youkuaiyun.com/Alan_rust/article/details/151993781</link><guid>https://blog.youkuaiyun.com/Alan_rust/article/details/151993781</guid><author>Alan_rust</author><pubDate>Fri, 26 Sep 2025 09:00:00 +0800</pubDate><description><![CDATA[本章介绍了属性字符串（StyledString）的设置与应用。属性字符串能够覆盖Text组件的所有字符样式设置，包括字体、装饰线、行高、背景色等10余种样式。通过StyledStringValue实现多样化的文本效果，其中TextStyle可支持文本描边等高级样式。 关键点包括： 样式冲突处理：当属性字符串样式与Text组件样式冲突时，以属性字符串设置为准 粒度控制：同一字符的相同styledKey只能有一个生效，后设置的值会覆盖前值 应用示例：通过代码演示了字体大小、粗细等样式冲突时的实际效果，验证了属性]]></description><category></category></item><item><title><![CDATA[【ArkUI 文本展示系列】六：控制文本的交互行为（二）Span嵌套控制]]></title><link>https://blog.youkuaiyun.com/Alan_rust/article/details/151993725</link><guid>https://blog.youkuaiyun.com/Alan_rust/article/details/151993725</guid><author>Alan_rust</author><pubDate>Thu, 25 Sep 2025 14:36:22 +0800</pubDate><description><![CDATA[本文介绍了如何在OpenHarmony中使用Span组件处理文本中的URL链接。通过正则表达式匹配文本中的URL，将文本分割为普通文本和URL片段，然后为URL片段添加点击事件。当用户点击URL时，会调用startAbility方法在浏览器中打开链接。示例代码展示了如何实现文本分割、URL识别和跳转逻辑，并提供了自定义跳转应用的方法。关键点包括URL识别、文本分割处理以及使用Want对象实现应用间跳转功能。]]></description><category></category></item><item><title><![CDATA[【ArkUI 文本展示系列】五：控制文本的交互行为（一）基础交互控制]]></title><link>https://blog.youkuaiyun.com/Alan_rust/article/details/151992995</link><guid>https://blog.youkuaiyun.com/Alan_rust/article/details/151992995</guid><author>Alan_rust</author><pubDate>Thu, 25 Sep 2025 09:00:00 +0800</pubDate><description><![CDATA[本文介绍了Text组件的交互控制能力，主要包括五个方面：1) 通过enabled、focusable、textSelectable接口控制Text获焦行为；2) 控制文本选择功能，包括双击/长按行为处理；3) 使用selection接口设置选中区域；4) 通过copyOption控制复制粘贴权限范围；5) 自定义文本选择菜单实现菜单控制。此外还介绍了AI实体识别功能，可自动识别电话号码、链接等特定内容并高亮显示。文章提供了详细参数说明和实际代码示例，帮助开发者灵活控制Text组件的交互行为。]]></description><category></category></item><item><title><![CDATA[【ArkUI 文本展示系列】四：Text组件属性详解]]></title><link>https://blog.youkuaiyun.com/Alan_rust/article/details/151971899</link><guid>https://blog.youkuaiyun.com/Alan_rust/article/details/151971899</guid><author>Alan_rust</author><pubDate>Wed, 24 Sep 2025 09:00:00 +0800</pubDate><description><![CDATA[文章摘要： 本文介绍了Text组件的三种样式设置方法：字体样式（字体大小、颜色、背景色等）、文本布局风格（对齐方式、行间距等）和自适应布局策略（字号范围、最大行数等）。重点讲解了字体样式的具体实现，包括通过font接口统一设置字体属性，使用fontColor和shaderStyle设置颜色与渐变色，以及通过decoration添加装饰线。文中还提供了下划线避让、透明色下划线、自定义下划线位置和多段装饰线的实现方案，并附有完整代码示例和效果图展示。这些接口可以灵活组合，满足不同文本样式的需求。]]></description><category></category></item><item><title><![CDATA[【ArkUI 文本展示系列】 〇：ArkUI Text组件全面解析：从基础展示到复杂样式实践]]></title><link>https://blog.youkuaiyun.com/Alan_rust/article/details/151992591</link><guid>https://blog.youkuaiyun.com/Alan_rust/article/details/151992591</guid><author>Alan_rust</author><pubDate>Tue, 23 Sep 2025 10:56:47 +0800</pubDate><description><![CDATA[本文系统介绍了ArkUI框架中的Text组件及其相关功能。第一部分概述了Text组件的基础概念、Span组件的差异化样式设置以及属性字符串的高级功能。第二部分详细解析了Text组件的三大核心能力：字体样式、文本布局风格和自适应布局，以及文本交互行为的控制方法。通过丰富的示例，文章由浅入深地展示了如何实现从基础文本展示到复杂交互效果的全过程，为开发者提供了全面的ArkUI文本开发指南。]]></description><category></category></item><item><title><![CDATA[【ArkUI 文本展示系列】三：属性字符串简介，更丰富的文本效果]]></title><link>https://blog.youkuaiyun.com/Alan_rust/article/details/151971751</link><guid>https://blog.youkuaiyun.com/Alan_rust/article/details/151971751</guid><author>Alan_rust</author><pubDate>Tue, 23 Sep 2025 09:00:00 +0800</pubDate><description><![CDATA[StyledString与MutableStyledString是两种强大的属性字符串组件，支持富文本样式设置、段落样式、超链接、手势事件等功能。StyledString需在构造时定义样式，而MutableStyledString支持运行时动态修改。两者均可通过TextController与Text组件绑定，实现样式复用，显著减少重复代码。MutableStyledString还提供appendStyledString等方法实现样式动态更新，修改后需重新setStyledString使样式生效。]]></description><category></category></item><item><title><![CDATA[【ArkUI 文本展示系列】二：Span组件简介，基础文本样式]]></title><link>https://blog.youkuaiyun.com/Alan_rust/article/details/151971396</link><guid>https://blog.youkuaiyun.com/Alan_rust/article/details/151971396</guid><author>Alan_rust</author><pubDate>Mon, 22 Sep 2025 19:51:22 +0800</pubDate><description><![CDATA[本文介绍了ArkUI中Span、ImageSpan、SymbolSpan和ContainerSpan四种组件的使用方法与区别。Span用于文本样式设置，ImageSpan实现图文混排，SymbolSpan展示图标，ContainerSpan作为容器设置背景样式。通过具体示例展示了如何利用这些组件实现多样化的文本效果，包括不同字体样式、图文混排对齐等。这些组件相比直接使用Text和Image更加高效，能简化代码并提高开发效率。文章还提供了官方demo参考，帮助开发者快速掌握这些组件的应用场景和使用技巧。]]></description><category></category></item><item><title><![CDATA[【ArkUI 文本展示系列】一：如何选择文本组件]]></title><link>https://blog.youkuaiyun.com/Alan_rust/article/details/151955130</link><guid>https://blog.youkuaiyun.com/Alan_rust/article/details/151955130</guid><author>Alan_rust</author><pubDate>Mon, 22 Sep 2025 09:55:24 +0800</pubDate><description><![CDATA[本文介绍了ArkUI中的Text组件及其相关组件。Text是基础文本展示组件，支持样式设置、文本选中和图文混排，但不支持编辑。与Span、ImageSpan等子组件配合可实现部分文本样式调整。相比其他文本组件，Text功能全面，在非编辑场景下是首选。文章还对比了不同文本组件的适用场景，建议根据需求选择：编辑文本用TextInput等组件，展示HTML用RichText，展示图标用SymbolGlyph，其他文本展示场景优先使用Text组件。]]></description><category></category></item><item><title><![CDATA[在鸿蒙上使用ArkUI做软键盘布局(避让等)适配]]></title><link>https://blog.youkuaiyun.com/Alan_rust/article/details/150637456</link><guid>https://blog.youkuaiyun.com/Alan_rust/article/details/150637456</guid><author>Alan_rust</author><pubDate>Sat, 23 Aug 2025 15:59:08 +0800</pubDate><description><![CDATA[本文介绍了HarmonyOS系统中软键盘的交互控制与避让机制。主要内容包括： 软键盘控制： 通过defaultFocus主动获焦弹出键盘 使用FocusController实现代码控制弹出/收起键盘 提供键盘高度监听方法，实时调整界面布局 避让机制： 系统默认提供输入框避让功能 根据输入框位置自动计算避让距离 确保输入框不被键盘遮挡，同时保持合理布局 常见问题： 重要信息被遮挡的解决方案 布局错位问题的处理方法 弹窗过度上抬的优化方案 文章通过代码示例和效果图展示了如何实现键盘高度监听、安全区域适配等关键功]]></description><category></category></item><item><title><![CDATA[【鸿蒙ArkUI路由/导航系列】〇：ArkUI Navigation组件全面解析：从基础导航到高级路由的实践]]></title><link>https://blog.youkuaiyun.com/Alan_rust/article/details/150472253</link><guid>https://blog.youkuaiyun.com/Alan_rust/article/details/150472253</guid><author>Alan_rust</author><pubDate>Sun, 17 Aug 2025 20:30:19 +0800</pubDate><description><![CDATA[【鸿蒙ArkUI路由/导航系列】一：ArkUI路由原理简介，认识Navigation组件详细阐述了Navigation作为导航容器的角色，支持全局及局部导航，并具有单栏（Stack）、分栏（Split）及自适应（Auto）三种显示模式。Navigation组件由导航栏（NavBar）和子页（NavDestination）构成，通过NavPathStack管理子页切换。文章还介绍了Navigation的高级特性，如自定义转场动画、路由拦截及生命周期管理，为开发者提供了全面的Navigation组件使用指南。]]></description><category></category></item><item><title><![CDATA[【鸿蒙ArkUI路由/导航系列】十二：Navigation路由拦截]]></title><link>https://blog.youkuaiyun.com/Alan_rust/article/details/150472242</link><guid>https://blog.youkuaiyun.com/Alan_rust/article/details/150472242</guid><author>Alan_rust</author><pubDate>Sun, 17 Aug 2025 20:27:03 +0800</pubDate><description><![CDATA[摘要： 本文介绍了HarmonyOS中Navigation组件的路由拦截功能，通过setInterception回调实现跳转逻辑的灵活控制，无需修改原始路由代码。以电商App为例，未登录用户访问支付页时，通过willShow拦截跳转至登录页，登录后自动返回原页面，避免重复代码和模块耦合。示例代码展示了主页面、产品页、支付页和登录页的联动实现，包括全局登录状态管理（AppStorage）和路由信息传递。该方案提升了开发效率，降低了维护成本，适用于需权限校验的复杂路由场景。（150字） 关键词： Harmony]]></description><category></category></item><item><title><![CDATA[【鸿蒙ArkUI路由/导航系列】十一：Navigation弹窗页面开发]]></title><link>https://blog.youkuaiyun.com/Alan_rust/article/details/150472226</link><guid>https://blog.youkuaiyun.com/Alan_rust/article/details/150472226</guid><author>Alan_rust</author><pubDate>Sun, 17 Aug 2025 20:26:10 +0800</pubDate><description><![CDATA[HarmonyOS导航组件NavDestination支持Standard和Dialog两种模式：Standard模式用于常规页面展示，默认白底，仅顶层可见；Dialog模式用于弹窗，透明背景，可叠加显示且不影响下层页面。API13+版本Dialog默认带底部弹出动画。案例演示了电商应用中产品页(Standard)点击购物车按钮弹出购物车页(Dialog)的交互实现，包含页面栈管理、自定义布局及点击空白区域返回功能。购物车页采用半透明背景+商品列表设计，通过mode属性设置为DIALOG实现弹窗效果。完整代]]></description><category></category></item><item><title><![CDATA[【鸿蒙ArkUI路由/导航系列】十：Navigation嵌套开发]]></title><link>https://blog.youkuaiyun.com/Alan_rust/article/details/150472215</link><guid>https://blog.youkuaiyun.com/Alan_rust/article/details/150472215</guid><author>Alan_rust</author><pubDate>Sun, 17 Aug 2025 20:25:03 +0800</pubDate><description><![CDATA[本文介绍了Navigation框架的嵌套开发应用，通过示例演示了如何实现多级导航功能。外层Navigation负责主应用模块间跳转（如购物、外卖、打车小程序），每个子模块内部又嵌套独立Navigation处理自身业务路由。文章详细展示了代码实现，包括主页导航、各小程序模块的内部导航控制器配置，以及子页面间的跳转逻辑。这种设计实现了业务逻辑分层管理，主模块负责宏观路由，子模块自行处理内部页面流转，适用于复杂应用场景。案例提供了完整的代码结构，展示了多级导航栈的构建与交互方式。]]></description><category></category></item><item><title><![CDATA[【鸿蒙ArkUI路由/导航系列】九：Navigation分栏开发，开启多设备开发之旅]]></title><link>https://blog.youkuaiyun.com/Alan_rust/article/details/150472202</link><guid>https://blog.youkuaiyun.com/Alan_rust/article/details/150472202</guid><author>Alan_rust</author><pubDate>Sun, 17 Aug 2025 20:24:04 +0800</pubDate><description><![CDATA[Navigation组件支持多设备适配开发，提供单栏和分栏两种显示模式，在宽屏设备上可自动切换为分栏布局。分栏模式支持导航栏位置自定义、宽度调整范围和内容区域最小宽度设置，并可通过拖拽分割线调整布局比例。示例展示了新闻应用开发场景：左侧导航栏显示新闻列表，点击后在右侧展示详情页。通过配置mode、navBarWidthRange等参数实现响应式布局，当屏幕宽度≥600vp时自动切换为分栏模式。该功能支持LTR/RTL语言适配，并提供动画切换效果，提升跨设备用户体验。]]></description><category></category></item><item><title><![CDATA[【鸿蒙ArkUI路由/导航系列】八：Navigation跨包路由，迈入高级路由能力]]></title><link>https://blog.youkuaiyun.com/Alan_rust/article/details/150472187</link><guid>https://blog.youkuaiyun.com/Alan_rust/article/details/150472187</guid><author>Alan_rust</author><pubDate>Sun, 17 Aug 2025 20:22:58 +0800</pubDate><description><![CDATA[本文介绍了在大型软件工程中实现模块间跨包路由跳转的方法。通过Navigation路由框架，支持Hap、Hsp、Har等不同包之间的页面流转。具体步骤包括：1）在各模块配置路由表，定义页面路径和构建函数；2）编写页面代码，使用NavDestination和pushPath实现跳转；3）编译构建时需先编译依赖包并配置依赖关系。最后展示了跨包跳转的示例效果，并指出运行时需同时安装主包和依赖包。]]></description><category></category></item><item><title><![CDATA[【鸿蒙ArkUI路由/导航系列】七：Navigation自定义转场动画，让页面切换炫起来]]></title><link>https://blog.youkuaiyun.com/Alan_rust/article/details/150472167</link><guid>https://blog.youkuaiyun.com/Alan_rust/article/details/150472167</guid><author>Alan_rust</author><pubDate>Sun, 17 Aug 2025 20:21:33 +0800</pubDate><description><![CDATA[本文介绍了在Navigation中实现自定义转场动画的两种方法：1）全局控制所有NavDestination页面的动画，通过设置Navigation的customNavContentTransition属性；2）单点控制单个NavDestination页面的动画，通过设置NavDestination的customTransition属性。文章详细展示了两种方法的代码实现，包括动画管理类的创建、回调函数的注册以及具体的动画参数设置。开发者可根据需求选择使用全局或单页面控制方式，实现页面切换时的自定义动效。]]></description><category></category></item><item><title><![CDATA[【鸿蒙ArkUI路由/导航系列】六：Navigation组件的无感监听]]></title><link>https://blog.youkuaiyun.com/Alan_rust/article/details/150472148</link><guid>https://blog.youkuaiyun.com/Alan_rust/article/details/150472148</guid><author>Alan_rust</author><pubDate>Sun, 17 Aug 2025 20:20:27 +0800</pubDate><description><![CDATA[本文介绍了如何使用无感监听功能监控Navigation页面的状态变化。开发者可以通过注册navDestinationUpdate和navDestinationSwitch回调函数，分别在页面状态更新和页面切换时触发相应操作。监听可以针对所有Navigation实例或通过navigationId指定特定实例，并提供了取消监听的方法。文章还展示了实际应用场景，如在页面创建时显示提示信息，说明无感监听可以简化页面生命周期中的通用逻辑处理。]]></description><category></category></item><item><title><![CDATA[【鸿蒙ArkUI路由/导航系列】五：Navigation生命周期管理]]></title><link>https://blog.youkuaiyun.com/Alan_rust/article/details/150472130</link><guid>https://blog.youkuaiyun.com/Alan_rust/article/details/150472130</guid><author>Alan_rust</author><pubDate>Sun, 17 Aug 2025 20:19:15 +0800</pubDate><description><![CDATA[摘要：Navigation生命周期管理分为三类：自定义组件生命周期（aboutToAppear/Disappear）、通用组件生命周期（onAppear/Disappear）和独有生命周期（如onShown/onActive等）。其中，自定义组件生命周期存在限制，而独有生命周期能精确反映路由状态变化。通过半模态示例展示了onShown/onHidden和onActive/onInActive的实际应用，当页面跳转时两组状态同时变化，而拉起半模态时仅激活状态改变。开发者可通过这些生命周期精准控制页面行为，注意]]></description><category></category></item><item><title><![CDATA[【鸿蒙ArkUI路由/导航系列】四：Navigation页面信息查询]]></title><link>https://blog.youkuaiyun.com/Alan_rust/article/details/150472115</link><guid>https://blog.youkuaiyun.com/Alan_rust/article/details/150472115</guid><author>Alan_rust</author><pubDate>Sun, 17 Aug 2025 20:18:05 +0800</pubDate><description><![CDATA[摘要：本文介绍了在HarmonyOS ArkUI框架中，开发者如何通过queryNavigationInfo和queryNavDestinationInfo接口获取路由信息。queryNavigationInfo用于查询Navigation组件的路由信息和控制器，而queryNavDestinationInfo可获取当前NavDestination的name、param和mode等属性。从API 18开始，新增isInner参数控制查询方向（内部或外部NavDestination）。这些接口支持模块化开发，]]></description><category></category></item><item><title><![CDATA[【鸿蒙ArkUI路由/导航系列】三：NavDestination标题栏和工具栏，丰富页面信息]]></title><link>https://blog.youkuaiyun.com/Alan_rust/article/details/150472089</link><guid>https://blog.youkuaiyun.com/Alan_rust/article/details/150472089</guid><author>Alan_rust</author><pubDate>Sun, 17 Aug 2025 20:16:17 +0800</pubDate><description><![CDATA[摘要：本文介绍了HarmonyOS开发中如何通过.title()和.toolbarConfiguration()接口为NavDestination页面设置标题栏和工具栏。标题栏支持单标题和双重标题（主/副标题）设置，工具栏可配置多个选项内容。开发者可通过传入参数来自定义样式，后设置属性会覆盖前值。具体实现可参考Navigation导航组件文档。（98字）]]></description><category></category></item></channel></rss>