- 博客(68)
- 资源 (3)
- 收藏
- 关注
原创 45、鸿蒙HarmonyOS Next开发:线性容器和非线性容器
本文详细介绍了线性容器和非线性容器的特性及使用场景。线性容器包括ArrayList、List、LinkedList、Deque、Queue、Stack和Vector,基于数组或链表实现,支持顺序访问,适用于频繁读取、插入删除等操作场景。非线性容器包括HashMap、TreeMap、LightWeightMap等,通过哈希表或红黑树实现,支持快速查找,适用于键值对存储、去重和排序等需求。各类容器在初始容量、扩容机制、访问效率等方面存在差异,开发者可根据具体场景选择合适的容器类型,文中还提供了各容器的常用API
2025-08-07 14:14:38
877
原创 44、鸿蒙HarmonyOS Next开发:视频播放 (Video)组件和进度条 (Progress)组件的使用
本文介绍了HarmonyOS中Video视频播放组件和Progress进度条组件的使用方法。Video组件支持播放本地和网络视频,可自动播放、控制播放进度,并提供默认/自定义控制器。Progress组件可创建5种样式的进度条(线性、环形、刻度环形、圆形、胶囊),通过value属性控制进度值。文章详细说明了组件的创建方法、属性配置和事件处理,并提供了示例代码展示组件的基本使用和交互控制。
2025-07-30 10:37:16
1105
原创 43、鸿蒙HarmonyOS Next开发:显示图片 (Image)组件的使用
本文介绍了ArkUI框架中Image组件的使用方法和功能特性。Image组件支持多种图片格式(如png、jpg、svg等),可加载本地资源、网络图片、媒体库资源和base64数据。文章详细说明了不同数据源的加载方式,包括权限申请、缓存机制和性能优化建议。同时介绍了高级功能如PixelMap处理、DrawableDescriptor动态效果实现、SVG矢量图显示等。还讲解了图片属性设置(缩放、重复样式、滤镜等)和事件处理机制。
2025-07-30 10:20:52
1153
原创 42、鸿蒙HarmonyOS Next开发:应用上下文Context
摘要: Context是HarmonyOS应用开发中的核心上下文对象,提供资源管理、应用信息、文件路径等基础能力。不同类型的Context(如ApplicationContext、UIAbilityContext、ExtensionContext等)具有特定作用域和功能,不可互相转换。 关键点: 获取方式:通过getApplicationContext()获取全局上下文,UIAbility/ExtensionAbility通过实例属性获取自身Context。
2025-07-29 11:33:58
890
原创 41、鸿蒙HarmonyOS Next开发:UIAbility组件生命周期
UIAbility组件生命周期及回调机制解析 摘要:UIAbility组件是包含用户界面的应用组件,其生命周期包含onCreate、onForeground、onBackground、onDestroy等核心回调。生命周期与WindowStage紧密关联,涉及窗口创建(onWindowStageCreate)、销毁(onWindowStageDestroy)等阶段。开发者可在各回调中执行相应操作:如onCreate初始化资源、onForeground重新申请必要资源、onBackground释放UI资源等。
2025-07-29 11:17:10
1045
原创 40、鸿蒙HarmonyOS Next开发:UI场景化-组件截图(ComponentSnapshot)
组件截图能力支持对已挂树组件和离线组件进行截图,获取其渲染位图。挂树组件通过ID或UniqueID指定,仅截取最近一帧内容;离线组件需完成构建布局后截图,建议设置延时并强制同步加载图片资源。典型应用包括滚动截图拼接长图、全局封装截图接口等。最佳实践建议:合理控制截图时机,开启waitUntilRenderFinished参数,预加载图片资源,及时释放位图,并控制采样精度。对于含Video/XComponent等特殊组件,推荐使用createPixelMapFromSurface接口。
2025-07-24 10:25:53
1316
原创 39、鸿蒙HarmonyOS Next开发:使用动画-帧动画
帧动画通过逐帧回调机制实现动态效果,开发者可在每帧实时调整UI属性值。相比属性动画,帧动画具备实时响应、可暂停等优势,但性能稍逊。示例展示了如何创建帧动画:引入Animator模块,定义动画参数和回调函数,通过play()播放动画,支持暂停、重置等操作,最后需手动释放资源避免内存泄漏。典型应用如小球抛物运动,通过计算每帧位置实现动态轨迹。开发建议:优先使用属性动画,当需要精确控制每帧效果时再选用帧动画。
2025-07-24 09:58:59
678
原创 38、鸿蒙HarmonyOS Next开发:使用动画-动画效果(模糊,阴影,渐变)
ArkUI提供的模糊效果接口可以帮助开发者实现精致的UI动效。主要包括backdropBlur(背景模糊)、blur(内容模糊)、backgroundBlurStyle(背景材质模糊)、foregroundBlurStyle(内容材质模糊)和motionBlur(运动模糊)等接口。其中实时模糊接口每帧渲染性能消耗较大,建议内容不变时使用静态blur接口优化。应用场景包括:通过backdropBlur区分层级关系,用blur实现跟手模糊效果,backgroundBlurStyle提供多种材质模糊风格,以及mo
2025-07-24 09:30:00
738
原创 38、鸿蒙HarmonyOS Next开发:使用动画-动画衔接
UI界面需要实时响应用户交互行为,实现动画间的平滑过渡。系统已提供动画与动画、手势与动画的衔接能力,开发者只需关注单次动画实现。当属性终点值改变时,系统会自动衔接前后动画,确保过渡流畅。示例代码展示了通过点击事件改变缩放属性值,系统自动处理动画过渡效果,避免了用户等待和视觉卡顿。这种机制既保证了交互体验的流畅性,又降低了开发复杂度。
2025-07-24 09:00:00
326
原创 37、鸿蒙HarmonyOS Next开发:使用动画-动画曲线(传统曲线和弹簧曲线)
动画曲线决定属性变化的运动轨迹,其斜率代表变化速度。主要分为传统曲线和物理曲线两类:传统曲线基于数学公式(如贝塞尔曲线),可产生缓入缓出效果但缺乏物理真实感;物理曲线(如弹簧曲线)模拟物理规律,提供更自然的动画效果,包括springMotion、responsiveSpringMotion等类型,能自动计算时长并继承速度。ArkUI提供了多种曲线接口,建议优先使用物理曲线,传统曲线仅作为辅助。示例代码展示了不同类型曲线的实现效果。
2025-07-23 10:28:20
1370
原创 36、鸿蒙HarmonyOS Next开发:使用动画-组件动画
ArkUI提供了丰富的动画能力,包括组件默认动画和自定义动画。组件默认动画如List滑动和Button点击效果,能提升用户体验并减少开发工作量。开发者还可以通过属性动画和转场动画实现定制化效果,如在Scroll组件中通过监控滑动距离和计算仿射属性来自定义子组件动画。示例代码展示了如何创建带缩放效果的卡片滑动动画,包括手势处理、位置计算和动画微调等功能,实现了流畅的交互体验。这种灵活的动画系统使界面更生动,同时保持了开发效率。
2025-07-23 10:20:51
344
原创 35、鸿蒙HarmonyOS Next开发:使用动画-粒子动画
粒子动画通过随机生成大量粒子并控制其运动来创建视觉效果,常用于模拟自然现象如雪花飘落。开发者可以使用Particle组件定义粒子类型、颜色、大小等属性,并通过设置发射器、生命周期和扰动场来调整粒子行为。示例代码展示了如何创建包含100个圆点粒子的动画,包括颜色范围、发射速率等参数配置。扰动场机制可对粒子施加外力,实现更复杂的运动轨迹。这种技术适用于创建动态背景或特效场景。
2025-07-22 15:20:09
338
原创 34、鸿蒙HarmonyOS Next开发:使用动画-转场动画
本文系统介绍了ArkUI框架中的转场动画技术体系,主要包括以下核心内容: 基础转场动画 通过TransitionEffect实现组件出现/消失的基础转场效果,支持透明度、滑动、旋转等10种转场类型 提供组合转场效果(combine)和非对称转场(asymmetric)等高级功能 模态转场 支持全屏模态(bindContentCover)、半模态(bindSheet)等多种模态形式 可自定义模态页面的转场动画效果 共享元素转场 提供geometryTransition等4种实现方式 详细说明了跨容器迁移组件和
2025-07-22 15:11:53
1121
原创 33、鸿蒙HarmonyOS Next开发:使用动画-属性动画
摘要:属性动画通过控制可动画属性(如位置、尺寸、透明度等)实现UI效果的平滑过渡。ArkUI提供三种动画接口:animateTo(闭包内属性变化)、animation(自动检测属性变化)和keyframeAnimateTo(关键帧动画),支持系统内置和自定义动画属性。自定义属性需使用@AnimatableExtend装饰器,仅支持number类型或实现了AnimatableArithmetic接口的类型。建议优先使用scale而非布局属性变化以获得更好性能,避免对出现/消失的组件使用属性动画,并谨慎使用动画
2025-07-21 10:41:07
1187
1
原创 32、鸿蒙HarmonyOS Next开发:使用动画-动画概述
ArkUI提供多种动画接口(属性动画、转场动画等)实现流畅的用户交互体验。动画通过控制UI组件属性的渐变过渡,解决界面突变问题,增强用户反馈和互动感。正确的动画实现能提升界面连贯性,确保操作流畅度。
2025-07-21 10:30:47
797
原创 31、鸿蒙HarmonyOS Next开发:绘制几何图形的两种方式
本文介绍了两种图形绘制方法:Shape组件和Canvas组件。Shape组件支持7种基础图形,可通过父组件设置通用属性,并详细说明了viewport属性对图形缩放的控制。Canvas组件提供了更灵活的绘制能力,支持基础形状、文本、图片等元素的绘制,包括离屏绘制优化和状态变量驱动刷新。
2025-07-21 10:21:25
1276
原创 30、鸿蒙HarmonyOS Next开发:应用文件上传下载,压缩与解压
本文介绍了OpenHarmony应用文件上传下载功能实现方法,主要包括: 文件上传功能 支持两种上传方式:request.uploadFile(仅缓存文件)和request.agent(支持用户文件) 需声明ohos.permission.INTERNET权限
2025-07-18 14:57:18
1161
原创 29、鸿蒙HarmonyOS Next开发:深浅色适配和应用主题换肤
本文介绍了应用深浅色模式适配的完整方案。主要内容包括:1.通过资源限定词和系统资源实现颜色、图片适配;2.提供Web组件、自定义节点、监听系统模式变化的适配方法;3.支持应用主动设置深浅色模式,并说明系统默认判断规则;4.详细阐述应用内主题换肤功能,包括自定义主题色设置、局部页面主题风格调整和深浅色切换;5.列出系统缺省的token色值表。文章给出了具体实现代码示例,并提供了使用建议,强调应优先采用监听系统模式变化的方式,避免直接通过函数适配颜色。
2025-07-18 14:37:27
1204
原创 28、鸿蒙HarmonyOS Next开发:不依赖UI组件的全局气泡提示 (openPopup)和不依赖UI组件的全局菜单 (openMenu)、Toast
本文介绍了HarmonyOS中不依赖UI组件的全局气泡提示(openPopup)和全局菜单(openMenu)功能。从API version 18开始,开发者可以通过全局接口在无UI组件的场景下使用这些功能。此外,还介绍了即时反馈(Toast)的使用方法.
2025-07-18 10:38:38
878
原创 27、鸿蒙HarmonyOS Next开发:ArkTS并发(Promise和async/await和多线程并发TaskPool和Worker的使用)
ArkTS提供了异步并发和多线程并发两种策略优化应用性能。基于Promise和async/await的异步并发适用于单次I/O任务,通过挂起任务避免阻塞主线程。多线程并发则通过TaskPool和Worker实现,TaskPool自动管理线程生命周期,适合独立任务;Worker需要手动管理线程,支持长时间任务和优先级设置。
2025-07-17 11:10:59
1054
原创 26、鸿蒙HarmonyOS Next开发:Buffer、FastBuffer
Buffer和FastBuffer模块提供高效的二进制数据处理能力,将内存抽象为可读写对象。Buffer适用于大数据传输、多媒体处理和二进制操作,支持创建固定大小内存块、数据读写转换和内存管理。FastBuffer是高性能二进制容器,专为固定长度数据设计,在读写速度和效率上优于Buffer,特别适合图片处理、文件传输等场景。两者都支持内存分配、数据读写复制、类型转换和内存切片合并等核心功能,为二进制数据处理提供高效解决方案。
2025-07-17 10:18:54
401
原创 24、鸿蒙HarmonyOS Next开发:不依赖UI组件的全局自定义弹出框 (openCustomDialog)
本文介绍了使用UIContext中PromptAction对象的openCustomDialog接口实现自定义弹出框的方法。该接口提供两种创建方式:通过ComponentContent实现页面解耦和动态刷新,或通过builder形式保持与系统风格一致。弹出框支持模态/非模态设置,提供完整的生命周期回调,并可通过update方法动态更新内容和属性。
2025-07-17 09:53:33
1117
原创 23、鸿蒙HarmonyOS Next开发:屏幕管理(OH_DisplayManager 和Display)
OH_DisplayManager提供屏幕基础信息查询和状态监听功能,支持获取屏幕分辨率、像素密度、刷新率等属性,并监听屏幕旋转、分辨率变化等状态。通过Native API可查询默认屏幕旋转角度、获取异形屏区域信息。同时支持监听设备屏幕变化(增/删/改)、截屏状态变化以及折叠设备状态(展开/折叠)。开发者可利用这些接口,根据不同的屏幕状态动态调整UI布局,实现更好的显示适配效果。
2025-07-17 09:30:00
734
原创 22、鸿蒙HarmonyOS Next开发:Tabs和TabContent
本文介绍了Tabs组件的功能及不同导航模式(底部、顶部、侧边)的实现方法。Tabs由TabBar导航栏和TabContent内容页组成,支持通过参数控制导航栏位置(barPosition)、滑动切换(scrollable)、固定/滚动模式(barMode)等
2025-07-16 13:55:40
1012
原创 21、鸿蒙HarmonyOS Next开发:组件导航(Navigation)
摘要 本文介绍了ArkUI中的Navigation组件及其功能特性。Navigation是路由导航的根视图容器,支持三种显示模式(单栏、分栏、自适应),适用于模块内和跨模块的路由切换。文章详细讲解了Navigation的路由操作、子页面管理、标题栏设置、菜单栏配置等核心功能,并提供了动态路由的实现方案(系统路由表和自定义路由表)。此外,还介绍了页面生命周期管理、转场动画控制以及共享元素转场等高级特性。通过示例代码展示了如何创建导航首页、子页面及实现页面跳转,帮助开发者构建灵活的路由系统。
2025-07-16 13:41:33
1474
原创 20、鸿蒙HarmonyOS Next开发:组件导航(Navigation)和页面路由(@ohos.router)
组件导航(Navigation)和页面路由(@ohos.router)是两种实现页面跳转的方式。Navigation将页面放在NavDestination组件中,支持更灵活的页面栈操作、丰富的动效和生命周期管理,并具备一次开发多端部署能力。
2025-07-16 10:45:31
762
原创 19、鸿蒙HarmonyOS Next开发:AppStorage(应用全局的UI状态存储)
AppStorage是UI框架提供的应用级全局状态存储中心,在应用启动时创建,实现主线程内多个UIAbility实例间的状态共享。它通过字符串key访问属性,支持与UI组件双向同步(@StorageLink)或单向同步(@StorageProp)。
2025-07-16 10:40:15
1100
原创 18、鸿蒙HarmonyOS Next开发:LocalStorage:页面级UI状态存储
LocalStorage是ArkTS提供的页面级状态存储方案,支持在页面内共享数据,也可通过getSharedLocalStorage实现跨页面和UIAbility共享。它提供两种装饰器:@LocalStorageProp实现单向同步,@LocalStorageLink实现双向同步。
2025-07-16 10:23:18
642
原创 17、鸿蒙HarmonyOS Next开发:状态管理(组件拥有的状态和应用拥有的状态)
摘要:本文介绍了ArkUI框架中的状态管理机制,分为V1和V2两个版本。V1通过装饰器实现组件和应用级状态管理,支持单向/双向数据同步,但存在深度观测不足等问题。V2增强了数据观察能力,支持深度监听和精准更新,提供更灵活的装饰器组合和组件化支持。文章详细对比了两个版本的功能差异,包括装饰器用法、数据同步方式等,建议新项目优先采用V2版本。同时说明了状态管理在UI渲染中的核心作用,即状态变化驱动UI更新这一基本原理。
2025-07-15 10:29:01
1434
原创 16、鸿蒙HarmonyOS Next开发:组件扩展(@Styles、@Extend、stateStyles、@AnimatableExtend、@Require、@Reusable等装饰器的使用)
本文介绍了ArkUI框架中的多种装饰器及其应用场景: @Styles:用于组件样式复用,支持全局和组件内定义,可访问组件状态变量。 @Extend:扩展组件私有属性和事件,支持参数传递,仅限全局定义。 stateStyles:根据组件状态(如按压、获焦)动态切换样式。 @AnimatableExtend:为不可动画属性添加动画效果,需配合AnimatableArithmetic接口使用。 @Require:强制校验组件构造参数,确保必要属性在初始化时传入。 @Reusable:实现组件复用优化
2025-07-15 10:27:16
1084
原创 15、鸿蒙HarmonyOS Next开发:创建自定义组件
摘要:ArkUI框架提供了系统组件和自定义组件两种UI构建方式。自定义组件具有可组合性、可重用性和数据驱动UI更新的特点,能够提高代码复用性并实现业务逻辑与UI分离。开发者通过@Component装饰器定义struct结构,并实现build()方法描述UI。自定义组件生命周期包含aboutToAppear、onDidBuild和aboutToDisappear三个阶段,分别对应组件创建、首次渲染完成和销毁前的回调。框架采用状态驱动UI更新机制,仅刷新发生变化的状态变量所关联
2025-07-15 09:59:26
957
原创 14、鸿蒙HarmonyOS Next开发:轮播布局 (Swiper)
摘要:Swiper组件是一个支持轮播显示的容器组件,适用于首页推荐等内容展示。主要特性包括:1. 支持水平/垂直方向轮播;2. 可设置循环播放(autoPlay)和切换间隔(interval);3. 提供导航点样式自定义(indicator)和箭头显示(displayArrow);4. 支持三种切换方式(滑动/点击/控制器);5. 允许单页显示多个子项(displayCount);6. 可自定义切换动画(customContentTransition);7. 支持与Tabs组件联动;8. 通过maintai
2025-07-15 09:00:00
614
原创 13、鸿蒙HarmonyOS Next开发:瀑布流(WaterFlow)
本文介绍了ArkUI框架中WaterFlow组件实现瀑布流布局的方法。主要内容包括:1. 基础布局功能,支持横向/纵向排列和动态调整列数;2. 无限滚动加载,通过onReachEnd事件和提前加载策略优化性能;3. 分组混合布局,支持在瀑布流中嵌入其他布局形式。文章详细说明了数据加载策略、布局切换以及性能优化技巧,为开发高效流畅的瀑布流界面提供了完整解决方案。
2025-07-14 10:43:35
898
原创 12、鸿蒙HarmonyOS Next开发:创建网格 (Grid/GridItem)
Grid网格布局是一种二维自适应布局方案,通过行列分割实现多样化布局。ArkUI提供了Grid容器和GridItem子组件。
2025-07-14 10:28:55
938
原创 11、鸿蒙HarmonyOS Next开发:列表布局 (List)
本文介绍了列表组件(List)的使用方法及其功能特性。列表是一种可滚动的容器组件,适合展示结构化数据集合。文章阐述了列表的布局方式(垂直/水平)、约束条件、子组件类型(ListItem/ListItemGroup)及其关系。
2025-07-14 10:15:00
949
原创 10、鸿蒙HarmonyOS Next开发:媒体查询 (@ohos.mediaquery)(API已经停止更新)
媒体查询是响应式设计的核心技术,通过检测设备特征(如屏幕尺寸、方向、分辨率等)动态调整页面布局。
2025-07-12 20:05:14
738
原创 9、鸿蒙HarmonyOS Next开发:栅格布局 (GridRow/GridCol)
GridRow是ArkUI中的栅格容器组件,需配合GridCol子组件使用。
2025-07-11 18:00:35
948
原创 8、鸿蒙HarmonyOS Next开发:相对布局 (RelativeContainer)
RelativeContainer是一种相对布局容器,支持子元素通过锚点设置相对位置关系。
2025-07-11 17:59:37
1065
原创 7、鸿蒙HarmonyOS Next开发:弹性布局 (Flex)
Flex弹性布局是一种高效的容器布局方式,通过主轴和交叉轴实现子元素的灵活排列。主轴方向可通过direction参数设置Row/RowReverse/Column/ColumnReverse四种排列方式。wrap属性控制单行或多行布局,justifyContent和alignItems分别设置主轴和交叉轴对齐方式。
2025-07-11 14:14:31
981
青花瓷 charles-proxy-4.5.6 for mac(附)
2020-07-30
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人