- 博客(27)
- 收藏
- 关注
原创 鸿蒙HarmonyOS 基础组件(chart开发)
本文将介绍chart图表组件的使用方法,包括创建图表、设置类型和属性,以及动态添加数据。chart组件支持线形图、柱状图和量规图三种类型,可通过type属性设置。options属性用于配置坐标轴和数据序列参数,datasets属性设置颜色和数据。通过append方法可实现数据动态更新,还提供了开关控制数据展示状态的示例。需要注意的是,部分功能仅支持特定图表类型,如series仅适用于线形图,量规图不适用options和datasets设置。
2025-06-27 21:29:19
398
转载 鸿蒙HarmonyOS 相对布局RelativeContainer
RelativeContainer组件是HarmonyOS开发中的重要布局容器,通过相对定位实现复杂场景下的元素对齐。该组件通过为子组件设置唯一id作为锚点,使用alignRules属性控制相对位置(上、下、左、右、居中)。其中,水平方向有Start/Center/End,垂直方向有Top/Center/Bottom三种对齐方式。关键技巧包括:在锚点上边用bottom属性,在锚点下边用top属性,左边用right,右边用left。这种"反向对应"的布局方式可有效减少嵌套容器,提升开发效率
2025-06-27 20:19:36
813
原创 鸿蒙HarmonyOS 关于图片、视频的选择详解
摘要:本文介绍了鸿蒙系统中实现相册选择照片/视频以及相机拍摄功能的技术方案。系统通过photoAccessHelper和cameraPicker组件无需申请敏感权限即可完成媒体访问功能,体现了鸿蒙的权限管控策略:系统Picker组件通过独立进程实现用户可感知的资源访问,获取临时受限权限。文章详细解析了PhotoViewPicker的参数配置、媒体类型判断方法,以及如何获取视频封面等关键实现细节,同时对比了两种调用相机的方式(Want和cameraPicker),并分析了鸿蒙权限系统的设计原理,包括user_
2025-06-27 17:20:10
1681
原创 鸿蒙HarmonyOS EventHub模块
HarmonyOS的EventHub模块为应用开发提供了事件驱动机制,支持事件订阅(on)、取消订阅(off)和触发(emit)功能。该模块适用于Stage模型,需通过UIAbility实例的context获取EventHub对象,仅限同一context内使用。使用时需注意this指向问题,建议用箭头函数保持上下文。EventHub支持可变参数传递,提供错误码401处理参数异常,帮助开发者构建灵活的事件通信系统,增强应用模块间的交互能力。
2025-06-27 15:42:17
760
原创 鸿蒙应用开发 将图片保存到相册
摘要:鸿蒙系统中保存图片到相册需注意权限限制。普通应用无法直接申请WRITE_IMAGEVIDEO权限,但可通过三种方式实现:1)使用安全控件临时申请权限保存本地图片;2)将下载的服务端图片转为buffer后写入相册;3)在无法使用安全控件时(如H5页面),借助系统弹窗确认保存。文中提供了具体代码示例,包括本地图片保存、网络图片处理和弹窗授权方案,并强调操作时需确保图片文件真实存在。这三种方法灵活应对不同场景的图片存储需求。
2025-06-27 14:08:06
1107
原创 鸿蒙应用开发 原生智能语音识别案例
摘要:本文介绍了HarmonyOS原生智能提供的本地语音识别SDK实现方案,详细解析了引擎初始化、识别模式设置(短/长语音)、回调处理、音频参数配置等核心API接口。重点说明如何通过AudioCapturer采集16kHz单声道PCM音频数据,并实时传输至ASR引擎进行识别,同时强调需注意音频格式、VAD参数设置以及缓冲区大小(640/1280字节)等技术要点。最后展示了从麦克风采集到实时语音识别的完整实现流程。该方案为鸿蒙系统提供了高效的端侧语音交互能力。
2025-06-26 22:03:47
678
原创 鸿蒙应用开发 中常见弹窗功能解析
鸿蒙系统提供了丰富的弹窗组件,分为模态(强交互)和非模态(弱交互)两种类型。系统包含固定样式弹窗(如菜单弹窗、对话框、时间/文本选择器)和自定义弹窗。固定样式弹窗虽然UI不可更改,但通过属性调整即可满足常见场景需求,使用时需注意其上下文限制。文章展示了多种弹窗的具体实现代码和效果示例,包括基础对话框、多级联动选择器等,并指出未来将继续介绍自定义弹窗等更多类型。开发者可根据业务需求选择合适的弹窗类型快速实现交互功能。
2025-06-26 20:02:38
512
原创 鸿蒙应用开发 计时器组件TextTimer的能力详解
摘要:HarmonyOSNext的TextTimer组件提供计时功能,支持正计时和倒计时模式,可通过TextTimerController控制计时状态。组件提供字体、格式等自定义属性,并支持通过contentModifier实现从指定时间开始计时的需求。文中给出两个示例:按钮控制计时器(30秒倒计时)和自动执行计时场景,同时介绍了解决正计时初始值问题的实现方案(通过自定义MyTextTimerModifier将初始时间与elapsedTime相加)。该组件适用于视频播放、通话时长等需要计时功能的场景。
2025-06-26 17:29:47
728
原创 鸿蒙HarmonyOS Banner组件封装与使用解析
本文介绍了鸿蒙系统中Swiper组件的封装使用。通过封装Banner组件简化了轮播图实现代码,支持ForEach和LazyForEach两种数据加载模式。重点讲解了懒加载模式下需创建BannerDataSource类实现IDataSource接口,处理数据增删改查操作。封装后的组件支持自动播放、指示器配置等常用功能,降低了重复代码量。开源实现已上传远程仓库,可通过npm安装或直接配置依赖使用。该封装解决了系统轮播组件不满足需求时的扩展问题,特别适合需要数据懒加载的场景。
2025-06-26 15:58:56
586
原创 鸿蒙HarmonyOS animator实现帧动画使用
本文详细介绍了在HarmonyOS中实现帧动画的技术方法。帧动画通过逐帧播放静态图像序列实现动态效果,具有实时响应和可暂停的优势。文章阐述了实现步骤:包括准备帧资源、创建动画集、播放和控制动画。具体通过两个示例演示:一是使用animator创建基础动画效果,包括初始化参数、回调设置和对象释放;二是实现小球抛物运动动画,涵盖组件定义、动画控制按钮及内存管理。此外还提到可根据需求自定义帧动画,如结合用户输入或与其他动画类型混合使用。本文为开发者提供了HarmonyOS帧动画的完整实现指南。
2025-06-26 14:09:20
1009
转载 鸿蒙@BuilderParam装饰器作用,使用方法
React的单向数据流通过父组件向子组件传递props实现数据单向流动,具有可预测性强、组件可重用性高和易于调试等优点。但在复杂应用中可能面临状态提升增加复杂性和"Prop drilling"问题。开发者应根据需求合理管理状态,适度使用状态管理工具优化性能。状态管理应平衡共享状态和局部状态,避免过度提升状态。
2025-06-25 21:06:49
536
原创 鸿蒙应用开发 自定义TabBar页签案例
【摘要】本文介绍了自定义TabBar组件的开发方法,针对标准TabBar无法满足特殊样式需求(如圆弧轮廓、动画效果)的场景。主要内容包括:1)通过har包引入自定义组件;2)Tab数据源初始化配置;3)关键实现技术:使用borderRadius创建圆弧轮廓、offset配合animation实现点击动画效果;4)组件属性接口说明。该方案支持灵活定制Tab样式,包含图标切换、动态偏移等交互效果,适用于需要特殊TabBar设计的移动应用开发场景。
2025-06-25 19:55:32
878
原创 鸿蒙应用开发 自定义组件属性访问限定符
摘要: 鸿蒙Next开发中,ArkTS对自定义组件的成员变量访问限定符(private/public/protected)有严格校验规则。private修饰的@State/@Prop等变量禁止构造时赋值;public修饰@StorageLink等变量会触发告警;private与@Link/@ObjectLink同时修饰或protected修饰均会报错;@Require与private同时修饰也不允许。开发者需遵循API version 12的规范,正确使用访问控制符,避免编译告警,确保组件功能正常实现。
2025-06-25 17:37:11
891
转载 鸿蒙应用开发 实现一个标题栏吸顶
本文介绍了在ArkUI框架下实现顶部下拉刷新和Tabs吸顶效果的解决方案。通过监听Scroll组件的onReachStart、onReachEnd等事件判断滑动位置,结合RefreshLayout组件控制刷新行为,使用Stack布局实现标题栏吸顶效果。文章重点解决了三个技术难点:1.下拉刷新和上拉加载的实现;2.Tabs组件的吸顶处理;3.手势冲突的解决。提供了完整的代码示例,包括RefreshLayout组件封装和瀑布流视图的实现。关键技术点包括:通过nestedScroll处理手势冲突、监听滚动位置控制
2025-06-25 16:23:05
471
原创 鸿蒙应用开发 自定义组件--构建应用界面的能手
HarmonyOSNext开发中,自定义组件是提升复用性和维护性的关键。通过ArkTS封装常用UI元素和逻辑,开发者可以避免代码重复,确保应用风格一致。本文展示了创建卡片式布局组件的示例代码,并介绍了如何通过GridRow和GridCol实现响应式布局,使组件在不同屏幕尺寸下自适应调整图片大小、文字样式等。这种结合响应式与自适应布局的技巧,能确保组件在手机、平板等多种设备上均保持良好显示效果,显著提高开发效率和应用质量。
2025-06-25 14:15:06
923
原创 鸿蒙HarmonyOS 构建灵活页面布局
摘要:HarmonyOSNext的容器组件(Row、Column、Flex)是实现动态布局的核心工具。Row用于水平排列元素(如导航栏),Column用于垂直布局(如列表),Flex则提供双向灵活排版能力,支持拉伸/收缩控制。通过flexGrow、justifyContent等属性可实现自适应拉伸、均分和比例布局。开发者可通过组合这些组件构建响应式界面,示例中展示了如何利用GridRow在不同屏幕尺寸下智能调整新闻应用的布局结构。合理运用这些容器组件是打造适配多设备界面的关键。
2025-06-24 19:44:18
990
原创 鸿蒙HarmonyOS ArkTS页面与H5页面交互方法
本文介绍了鸿蒙App与H5页面之间的双向通信实现方法。通过Web组件加载本地HTML文件,并利用JavaScriptProxy将ArkTS对象注入web端实现通信功能:1)HTML页面通过ClickMe按钮调用鸿蒙方法获取数据;2)HTML霓虹灯开关状态变化时同步更新鸿蒙按钮文本;3)鸿蒙端通过runJavaScript()触发HTML的change()方法改变开关状态。关键代码配置包括开启domStorageAccess和javaScriptAccess权限,使用javaScriptProxy注册通信对象
2025-06-24 17:30:35
509
原创 HarmonyOS Next 一些关键系统能力
摘要:HarmonyOSNext为开发者提供了强大的系统能力,包括UI构建、数据存储、设备交互和分布式功能。通过ArkUI框架可轻松创建交互界面,使用Preferences实现本地数据存储,调用位置服务获取设备信息,并借助分布式软总线实现跨设备通信。文章通过代码示例展示了这些核心功能的实现方式,帮助开发者快速上手HarmonyOSNext开发,构建更创新的应用。
2025-06-24 16:24:30
448
原创 鸿蒙应用开发 九宫格随机抽奖案例
本文介绍了使用鸿蒙开发框架实现九宫格抽奖功能的方法。首先定义了Prize类存储奖品信息,包括标题、颜色和描述。通过LotteryPage组件构建抽奖界面,采用九宫格布局展示奖品,其中包含加速、匀速、减速三阶段的抽奖动画逻辑。代码实现了点击触发抽奖、随机速度控制、选中效果展示及结果弹窗等功能,利用定时器控制抽奖节奏,最终显示获奖信息。该方案采用Flex布局和组件化设计,为应用增添了趣味性和互动性。
2025-06-24 14:04:43
288
原创 鸿蒙开发 AtomicServiceWeb 使用方法
AtomicServiceWeb是Web组件的升级版本,优化了网页交互功能。主要改进包括:1.参数传递支持URL传参和路由传参两种方式;2.控制器改用AtomicServiceWebController;3.简化部分接口设置,如javascriptAccess和domStorageAccess默认启用;4.新增mixedMode、darkMode等模式设置;5.调整文件访问权限策略,取消部分自定义接口支持。开发者需注意接口变更,如geolocationAccess需改用has.location.getLoc
2025-06-23 20:08:33
756
原创 鸿蒙应用开发 仿京东短信验证码UI效果
摘要:本文实现了一个美观的4位验证码输入框,使用Stack布局将TextInput和Row布局叠加。通过someArray数组循环生成4个Text组件,显示输入数字或'-'。关键点在于:1)使用hitTestBehavior实现事件透传;2)动态控制输入框样式,当前输入框橙色高亮;3)完整输入后显示提示。难点在于触摸事件处理,通过Transparent模式确保底层TextInput可响应。代码简洁高效,提供了良好的用户交互体验。
2025-06-23 17:58:14
259
原创 鸿蒙开发 实现在不同的项目和场景中重复使用的 ArkWeb 基础组件架构案例
本文介绍了华为鸿蒙开发中ArkWeb基础组件的架构设计方法。通过模块化、可复用性、易用性和可扩展性四大设计原则,将组件划分为核心层、服务层、接口层、适配层和管理层五层架构。重点阐述了视频/音频播放模块、权限管理和事件系统等关键技术的实现方案,并提出了单元测试、性能优化和错误处理等质量保障措施。文中还提供了组件版本管理和文档编写的最佳实践,为开发者构建高效可靠的ArkWeb组件提供了系统性的技术指导。
2025-06-23 16:28:45
261
原创 鸿蒙应用开发 实现状态管理最佳实践
摘要:本文详细阐述了鸿蒙Next应用开发中的7项状态管理最佳实践,包括:1)使用@ObjectLink减少深拷贝;2)避免用状态变量更新非状态变量;3)精准控制状态变量关联组件数;4)合理控制对象类型状态变量;5)查询状态变量关联组件数;6)避免循环中频繁读取状态变量;7)使用临时变量替代状态变量。每种实践均通过反例分析和正例改进进行说明,并附代码示例,帮助开发者优化应用性能,提升用户体验。
2025-06-22 19:59:24
647
原创 鸿蒙HarmonyOS 主动调用自定义控件中封装实践
本文介绍了在ArkUI声明式UI框架下实现父组件调用子组件的方法。通过创建Controller控制器,在子组件初始化时将方法赋给Controller,父组件持有Controller并调用其方法间接操作子组件。具体实现包括:定义ChildController类、子组件绑定方法到Controller、父组件传参调用。这种松耦合方式避免了直接操作子组件,提高了代码可维护性,适用于数据处理、动画控制等场景,解决了声明式UI中组件间通信的难题。
2025-06-21 20:00:52
359
原创 鸿蒙HarmonyOS应用开发 ArkUI基础组件之input开发
本文介绍了交互式组件input的使用方法,主要包含以下内容:1)创建input组件的基本语法和在HML文件中的实现;2)通过type属性设置不同输入类型(如日期、按钮、复选框等)的方法;3)事件绑定功能,包括搜索和翻译事件的处理;4)输入提示和错误校验的实现;5)实际应用场景示例,展示了备忘录信息录入中各种input类型的组合使用。文章还说明了不同输入类型下checked属性、showError方法等特性的适用条件,并提供了完整的CSS样式和JavaScript交互代码示例。
2025-06-20 21:02:03
276
原创 鸿蒙HarmonyOS开发 ArkUI基础组件之text开发
本文介绍了text组件的基本用法和样式设置方法。首先说明text组件用于呈现文本信息,通过hml文件创建并展示"Hello World"示例。接着详细讲解如何设置文本样式,包括颜色、大小、间距、对齐等属性,以及添加划线和隐藏文本内容的技巧。文章还介绍了文本断行处理和Span子组件的使用注意事项,包括数据绑定和显示控制功能。最后通过场景示例展示了text组件结合Span子组件实现动态文本显示效果。全文涵盖了text组件的常用属性和实际应用场景。
2025-06-20 16:20:16
326
原创 鸿蒙应用开发 Next-页面布局
摘要:鸿蒙Next(HarmonyOSNext)的页面布局融合全场景、简约美观和个性化定制等设计理念,支持跨设备无缝体验。本文介绍了线性布局、相对布局、网格布局等常见方式,并提供了示例代码。重点解析了瀑布流和抽屉布局的实现方法,前者通过自定义LayoutManager实现动态排列,后者采用DrawerLayout组件构建侧边导航。这些布局方式帮助开发者灵活设计界面,满足多样化的应用需求。
2025-06-18 14:27:36
345
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅