ArkUI是一套构建分布式应用的声明式UI开发框架。它具备简洁自然的UI信息语法、丰富的UI组件、多维的状态管理,以及实时界面预览等相关能力,帮助您提升应用开发效率,并能在多种设备上实现生动而流畅的用户体验。随着HarmonyOS3.1版本的发布,ArkUI也新增许多能力,助力应用开发更便携。
ArkUI框架新增能力概览
ArkUI能力一直在不断构建中,如下图所示,蓝色模块是本次新版本ArkUI框架的新增/增强能力。
ArkUI框架能力集
接下来,小编将从声明式绘制能力、混合开发能力、多样化布局能力、一多组件能力、UI动态化能力五大能力,详细说明ArkUI如何让应用开发更加便捷。
声明式Canvas绘制能力:为了方便开发者通过绘制方式实现自定义UI效果,提供Canvas组件。
高性能混合开发能力:为满足三方渲染引擎接入,比如游戏、地图等,提供了XComponent组件,支持C++/ArkTS混合开发。
多样化布局能力:为满足多种多样的布局诉求,提供了相对布局容器、灵活锚点能力、自定义布局能力。
一多组件能力:针对不同设备、不同分辨率的多平台场景,增强了一多场景的分栏组件能力;为满足列表项的悬停诉求,增强了列表的吸顶/吸底能力。
UI动态化能力:为满足大型应用的局部更新需求,提供动态化模板能力。
下面针对这些新增能力,结合示例逐一详细介绍:
说明:什么是一多?
一多是一次开发,多端部署的简称。具体指一套代码工程,一次开发,应用安装包一次上架,多种设备形态按需分发部署。
声明式Canvas绘制能力
ArkUI通过Canvas组件对外提供高性能2D绘制能力,满足多种场景自定义绘制诉求,Canvas组件具备下述特性。
(1)Canvas提供绘制路径、矩形、圆形、字符以及图像等多种方法;
(2)利用现有WebCanvas生态,参考W3C的Canvas接口,而无需引入Web引擎,给开发者提供了一个轻量化的2D绘制能力;
W3CCanvas绘制接口
(3)结合声明式语法,兼顾开发者绘制习惯;
(4)基于GPU渲染加速。
下面的示例,是通过Canvas自绘制实现的,它绘制了一个图片背景,并在上层填充“HarmonyOS”的文本,代码示例如下:
ComponentstructIndexCanvas{//获取绘图对象privatectx:RenderingContext=newRenderingContext;//列出所要用到的图片privateimg:ImageBitmap=newImageBitmap("