登录社区云,与社区用户共同成长
邀请您加入社区
帧动画具备逐帧回调的特性,便于开发者在每一帧中处理需调整的属性。通过向应用提供AnimatorResult的onFrame属性逐帧回调,帧动画使开发者能够在应用的每一帧设置属性值,从而实现组件属性值变化的自然过渡,营造出动画效果。帧动画接口详情可参考@ohos.animator (动画)。
粒子动画是通过在限定区域内随机生成大量粒子的运动,进而组合成的动画效果,通过Particle组件来实现。动画的基本构成元素为单个粒子,这些粒子可以表现为圆点或图片等形式。开发者能够通过对粒子在颜色、透明度、大小、速度、加速度、自旋角度等多个维度上的动态变化做动画,以营造特定的氛围,例如模拟下雪场景时,飘舞的雪花实际上是由一个个雪花粒子的动画效果所构成。
Tabs 自带的页签切换动画为平移动画。若开发者需实现更高级的动画效果,可通过Tabs提供的API实现自定义动画。
在使用Tabs组件进行开发时,特别是当Tabs组件作为二级导航使用时,业务需求往往需要对Tabs的标签页进行更精细的控制。下文将介绍几种定制标签页显示逻辑的场景。
本文介绍了鸿蒙6.0应用开发中实现阅读App仿真翻页效果的关键技术。该效果通过贝塞尔曲线模拟真实纸质书翻页体验,包含页面卷曲、背面显示和阴影渲染等功能。技术实现主要基于鸿蒙系统的图形绘制模块,通过组件截图获取页面内容,利用手势事件触发绘制过程。开发步骤包括:1)构建分层页面布局;2)处理滑动手势以确定翻页方向;3)计算控制点坐标实现曲线绘制;4)使用着色器添加阴影效果。核心接口涉及ArkGraph
自动化测试框架等能力,通过标准化的工程结构、编码规范与执行流程,支撑开发者实现高效高质量验证。
在进行编译构建的过程中,开发者可以通过定制hvigor插件,扩展构建逻辑,实现个性化的打包流程。
常见聊天界面主要包含联系人消息界面以及聊天窗口界面。其中,联系人列表界面主要支持以下交互场景:- 左滑操作,用于删除或置顶联系人- 滚动后点击“回到顶部”按钮快速跳转- 拖拽调整联系人排序
在应用开发中,通常会遇到自定义弹窗的场景,这些业务场景可能需要实现自定义弹窗的结构和样式。这时提供方可以封装一个传入自定义构建函数的工具类,将类对外导出。使用方可以引入该类,将自定义弹窗结构的@Builder函数作为参数传给封装好的静态类函数中,实现自定义弹窗。
本文探讨了鸿蒙6.0应用开发中图片预览器的实现原理与关键技术。重点分析了图片"跟手"操作的两种类型(平移和缩放)的数学计算模型,详细推导了缩放中心点位置和偏移量的计算公式。同时阐述了边界限制的实现原理,包括图片显示边界计算和偏移量范围限制的逻辑,并提供了X/Y轴边界计算的代码实现。文章还解决了Swiper组件与滑动手势的冲突问题,为开发者实现流畅的图片预览功能提供了完整的技术方案。
HarmonyOS自发布以来持续深化安全与隐私能力体系建设:从早期的应用沙箱隔离、权限管控,到数据防泄漏(DLP)框架,再到如今面向物理环境的感知型安全防护能力,安全防护的边界已从系统内部延伸至用户所处的真实空间。
空间化(Spatial UI)是HarmonyOS系统在视觉体验层面的一次重要升级。它通过沉浸光感材质与悬浮组件两大核心能力,让应用界面呈现出精致、通透、有层次的视觉效果,同时配合[智感握姿](https://developer.huawei.com/consumer/cn/doc/best-practices/bpta-smart-reach)等智能交互,全面提升UX的精致程度。
Network Kit提供常用的网络信息查询与连接管理功能,包括获取网络类型、检查网络可用性、监听网络状态变化、查询Wi-Fi及蜂窝网络信息等。这些能力帮助开发者灵活应对复杂多变的网络环境,精准实现各类场景需求,显著提升用户的网络使用体验。
使用ArkUI开发页面时,多组件状态共享是我们经常会遇到的场景;ArkUI通过装饰器,例如@State+@Prop/@Link、@Provide+@Consume实现父子组件状态共享,但是这样会造成状态数据耦合。作为ArkUI状态与UI解耦的解决方案,支持全局维护状态,优雅地解决状态共享的问题。让开发者在开发过程中实现状态与UI解耦,多个组件可以方便地共享和更新全局状态,将状态管理逻辑从组件逻辑中
随着应用的功能越来越复杂,用户在使用应用时,找到某个功能的操作步骤也在变得更加繁琐。为了提升用户体验,可以对应用中常用的功能创建对应的桌面快捷方式,以达到快速启动应用、一键直达特定功能等目的。
本章介绍一多应用在工程结构设计及应用上架配置中的方法。在开发[“一多”](https://developer.huawei.com/consumer/cn/doc/best-practices/bpta-multi-device-overview)应用时,除了需要针对手机、平板、电脑、智能穿戴、智慧屏等不同设备的硬件特性进行适配外,还需合理组织代码工程,以提升开发效率与部署灵活性。为保障多设备间一
在实际应用开发中,实时信息的高效呈现始终是提升用户体验的关键。实况窗作为高效的交互组件,有助于用户聚焦并迅速查看、处理任务,具备时段性、时效性、变化性的特征。锁屏沉浸实况窗能够详细展示应用的实时活动状态,将重要信息呈现在锁屏界面上,使用户一目了然,无需解锁屏幕进入应用即可获取最新的活动状态,尤其适合于实时性要求高,需要用户及时了解状态的场景,如动态显示网约车位置的出行打车场景、实时更新外卖进度的即
应用需要对应用文件目录下的应用文件进行查看、创建、读写、删除、移动、复制、获取属性等访问操作,下文介绍具体方法。
本章节将从原理角度分析,通过ArkUI框架的执行流程,以及自定义组件的生命周期两个角度,来分析组件过度嵌套对性能的影响。
ArkWeb的拖拽功能使应用能够在网页中实现元素的拖放,用户可以长按可拖拽的元素,将其拖至可放置的元素上,然后松手完成放置。ArkWeb在网页内容中的拖拽功能满足H5标准。
在HTML中,可以使用JavaScript创建三种类型的弹框:警告框window.alert(message)、确认框window.confirm(message)和提示框window.prompt(message, defaultValue)。这些弹框可以用于向用户传递信息、确认操作或请求输入。
Web组件嵌套滚动的典型应用场景为,在页面中,多个独立区域需进行滚动,当用户滚动Web区域内容时,可联动其他滚动区域,实现上下左右全方位滑动页面的嵌套滚动体验。内嵌于可滚动容器(Grid、List、Scroll、Swiper、Tabs、WaterFlow、Refresh、bindSheet)中的Web组件,接收到滑动手势事件后,需要设置ArkUI的NestedScrollMode枚举属性,实现We
开发者可以使用Web组件加载本地或者在线网页。Web组件提供生命周期回调接口,用于感知状态变化和处理业务。Web组件的状态主要包括:Controller绑定到Web组件、网页加载开始、网页加载进度、网页加载结束、页面即将可见。Web页面保活可以参考使用离线Web组件。
输入的两张比对图片是同一个人的照片时,系统返回的比对结果为"同一个人",置信分数比较高;当两张比对图片不是同一个人的照片时,系统返回的比对结果为"非同一个人",置信分数很低。
一镜到底动效是页面切换时对相同或者相似的两个元素做的一种位置、大小等属性匹配的过渡动画效果,有助于提升用户操作任务的效率,增强视觉的流畅感,同时也增强动效的品质感,是转场设计中重点推荐的技法。
面间转场是用户从一个页面切换到另一个页面时的过程,一个无缝流畅的转场动效可以提升用户的交互体验。从主页到详情页、从列表页到结果页都需要去设置一些转场动效,使得用户体验更加流畅。
HarmonyOS动效引力体系,围绕回归本源设计理念,打造了自然、流畅、品质一体的操作体验。基于视觉效果设计,可以将动效划分为特征动效、转场动效、手势动效、微动效、插画动效。
长截图功能适用于支持滚动的UI组件,比如List组件、Scroll组件、Web组件等。本文将以List组件和Web组件为例来介绍长截图功能的开发,分别通过控制器Scroller和WebviewController,结合UIContext的getComponentSnapshot().get()方法,实现长截图功能。
Grid网格布局一般由Grid容器组件和子组件GridItem构建组成,Grid用于设置网格布局相关参数,GridItem定义子组件相关特征。网格布局中含有网格元素,当给Grid容器组件设置editMode属性为true时,可开启Grid组件的编辑模式。首先,开启编辑模式。然后,给GridItem组件绑定长按、拖拽等手势。最后,需要添加动画属性animateTo,并设置相应的动画效果。最终,呈现出
图文混排是指图片与文字混合排列,文字可展示于图片四周。此排列方式能够直观呈现页面信息,增强视觉冲击力,使页面展示效果更加多样化。
Tabs组件在用户交互方面提供了丰富的特性,其中与滑动动作相关的交互尤为常见。下文将介绍几种与Tabs和滑动动作相关的特性。
文章摘要 本文详细介绍了Tabs组件在应用开发中的多样化应用场景和实现方法。首先分析了Tabs组件的三种常见导航样式:底部导航(主导航)、顶部导航(二级导航)和侧边导航(横屏适配),分别通过barPosition和vertical参数实现。其次阐述了页签对齐方式的定制方法,通过barModifier属性实现灵活布局。然后重点讲解了自定义页签样式的实现方案,包括图标+文字的组合样式和选中态变化效果。
对于采用ArkTS开发的应用,提供了应用内组件的主题换肤功能,支持局部的深浅色切换及动态换肤。目前,该功能只支持设置应用内主题换肤,暂不支持在UIAbility或窗口层面进行主题设置,同时也不支持C-API和Node-API。
在个人相册制作、电商产品展示、理财销售回放等多个场景中,都需要将图片合成视频。开发者通过调用Image Kit、视频编码、媒体数据封装提供的接口,可以实现图片合成视频的功能。
在实际应用开发过程中,经常需要用到移动终端设备的位置信息,比如查看所在城市天气、出行打车、旅行导航以及观察运动轨迹等。关于位置定位,位置服务提供了两种定位方式,分别为GNSS定位和网络定位
自定义键盘的布局以自定义组件的方式呈现,根据具体业务场景由开发者实现。自定义键盘的高度通过自定义组件根节点的height属性设置,宽度不可设置,默认为屏幕宽度。
【摘要】 本文介绍了HarmonyOS中AppStorageV2和PersistenceV2的核心功能与使用差异。AppStorageV2用于应用运行时内存状态管理,支持跨组件实时同步;PersistenceV2在继承AppStorageV2基础上新增磁盘持久化能力,支持应用重启后数据恢复。二者均通过connect方法管理数据,但PersistenceV2的@Trace属性变更可自动触发持久化,其
Tabs嵌套List的吸顶效果,常用于新闻、资讯类应用的首页。本场景以Tabs页签首页内容为例,在首页TabContent的内容区域使用List组件配合其它组件,构建下方列表数据内容。进入页面后,向上滑动内容,中间Tabs页签区域实现吸顶展示的效果。
通过点击按钮选择预设倍速实现倍速设置,为用户提供灵活的视频播放速率控制。
通过AVPlayer实现核心视频播放控制能力,包括视频资源加载、播放、暂停、停止及退出等操作。
在“视频播放”和“付款码展示”这两种典型场景下,应用需要在不同的页面分别设置不同的屏幕亮度,用户也可以自定义调节屏幕亮度,并且随着页面跳转而自动恢复系统亮度设置。
评论回复模块在图文和视频应用中被广泛使用,包含编辑区域、好友列表、常用表情列表和表情面板(见下图),它允许用户进行输入文字、表情、@好友、选择图片等操作。该模块一般以弹窗的形式展现给用户,通常在图文、视频界面中直接弹出,或者在评论列表上层弹出,本文将从评论列表上层弹出这种相对复杂的场景出发,重点对以下几个方面进行介绍,为开发者提供评论回复弹窗模块开发的最佳实践。
在各类应用和网站中,轮播图的使用非常广泛,它在信息展示和用户交互方面扮演着重要角色。轮播图不仅能在有限的屏幕区域内展示更多内容,还能有效地将关键的信息传递给用户。在开发应用或网站时,可以通过轮播图优先展示重要内容,次要内容则随后呈现,用户能够自主控制浏览节奏,滑动交互也能为用户带来发现内容的愉悦感,从而提升用户体验。
在鸿蒙ArkTS开发中,@Param装饰器是组件间状态管理的重要工具,主要用于父子组件间的单向数据传递,这一点与V1中的@prop类似。
应用深色模式适配,需遵循基本的UX设计原则,保障应用页面内容的易读性、舒适性和一致性。应用适配过程主要包含字体颜色、元素背景色等颜色资源的适配,媒体资源如图片图标的适配,以及系统状态栏的适配,此外需要对一些特殊情况如使用了Web组件加载的Web页面进行处理。
在鸿蒙(HarmonyOS)系统中,防止截屏和录屏的核心原理与Android类似,都是**在应用窗口层面设置安全属性,由系统图形服务在底层阻止内容捕获**。鸿蒙6.0在此基础上,引入了更智能、主动的安全特性。
在使用ArkTS与ArkWeb进行混合开发时,应用内的部分页面使用了前端相关能力进行了开发,结合Web组件进行了页面加载,在这种场景下涉及到从ArkWeb加载的页面向其他页面跳转,以及从ArkWeb页面拉起应用。