#跟着坚果学鸿蒙#有关API16的ArkUI相关的知识点(一)harmony5
根据提供的文档内容,以下是关于 ArkUI API 16 的核心知识点总结:
ArkUI API 16 核心知识点梳理
- ArkUI框架概述 ArkUI是华为推出的跨端UI开发框架,提供:
声明式开发范式:基于ArkTS语言,具备高效的UI构建能力(组件、布局、状态管理)。类Web开发范式:兼容HML/CSS/JS,便于Web开发者迁移。主要功能:组件库、动画、交互事件、窗口管理、渲染控制等。
- 组件与Native接口 2.1 Native节点操作 通过 ArkUI_NativeNodeAPI_1 提供主线程上的节点管理功能:
核心接口:
createNode:创建组件节点(如按钮、容器)。disposeNode:销毁节点。addChild/insertChildAt:管理子节点的插入与布局。setAttribute:动态设置属性(宽度、背景色等)。registerNodeEvent:注册事件回调(如点击、触摸)。 布局与绘制:
markDirty:强制节点重新渲染。layoutNode:设置组件相对父容器的坐标。
2.2 类型与枚举
视觉属性:
BorderStyle(边框样式)、ShadowStyle(阴影效果)。AnimationCurve(动画曲线,如平滑、弹性效果)。 布局控制:
HitTestMode(触摸穿透策略)、ListItemAlignment(列表项对齐)。
- 手势与交互事件 3.1 手势管理(ArkUI_NativeGestureAPI_1)
支持手势类型:点击、长按、拖动、捏合、旋转、滑动。组合手势:通过 createGroupGesture 支持多手势组合逻辑。手势绑定:可关联到UI组件,设置回调处理事件。 3.2 事件处理
输入事件:支持触摸、鼠标、按键事件的分发与拦截。高级交互:
dispatchKeyEvent:向指定组件分发按键事件(API 15+)。setStopPropagation:阻止事件冒泡。
- 自定义弹窗与对话框 4.1 弹窗管理(ArkUI_NativeDialogAPI_1/2)
核心功能:
弹窗创建、显示、销毁。enableCustomAnimation:覆盖系统动画(需在show前调用)。API 16增强:
setKeyboardAvoidDistance:弹窗避让键盘的最小距离。setImmersiveMode:设置嵌入式弹窗蒙层区域。
4.2 按钮样式控制
acceptButtonStyle/cancelButtonStyle(API 12+):
支持设置按钮的样式、背景色、圆角、字体等。仅允许一个按钮设置为primary(高亮状态)。
- 动画系统 5.1 显式与关键帧动画(ArkUI_NativeAnimateAPI_1)
显式动画:
animateTo:闭包内属性变化自动触发动画(如位置、尺寸)。 关键帧动画:
keyframeAnimateTo:定义多关键帧实现复杂动效。 性能优化:markDirty 手动标记脏区,避免频繁渲染。
- 文本与菜单(API 16 特性) 6.1 TextMenuController
setMenuOptions:设置文本选择菜单的显示模式:
TextMenuShowMode.DEFAULT:默认模式。TextMenuShowMode.PREFER_WINDOW:优先独立窗口显示(提升体验)。
6.2 文本组件增强
插入与删除控制:
InsertValue/DeleteValue:精确控制编辑行为。 样式定制:
selectedTextStyle:选中项文本样式(颜色、字号、字体)。
- 元服务与跨平台支持(API 16)
元服务API兼容:
多模块(如弹窗、文本菜单、动画)支持在元服务中调用。例如:TextMenuOptions 可在轻量化服务中配置菜单显示。
- 自定义组件生命周期
钩子函数:
onDidBuild(API 12+):build() 后执行,适合埋点上报。onPageShow/onPageHide:页面显示/隐藏触发。aboutToDisappear:组件销毁前的资源释放。 注:禁止在生命周期中直接修改状态变量。
- 最佳实践建议
动画优化:优先使用系统自动脏区标记,避免滥用 markDirty。手势冲突:通过 setInterceptHitTestMode 解决嵌套组件事件冲突。弹窗层级:利用 setLevelMode 管理弹窗显示优先级(如全局弹窗置顶)。
总结: ArkUI API 16 在组件管理、手势交互、动画性能、弹窗定制及跨平台支持上均做出重要优化,尤其在文本菜单控制与元服务兼容性方面显著提升开发效率。开发者应结合声明式范式,充分利用API提供的细粒度控制能力,构建高性能的跨端应用。 #跟着坚果学鸿蒙#
- 0回答
- 0粉丝
- 0关注
- 鸿蒙Navigation知识点详解
- 用户信息管理小 Demo 解析与相关知识点介绍
- Flutter 3.22.0-ohos 1.0.1 版本发布:全面适配 HarmonyOS NEXT API16
- 【HarmonyOS Next开发】定位相关知识(Locationkit)
- #跟着坚果学鸿蒙#针对资源字符串使用Text和Span组件进行高亮或添加下划线处理
- API9 到 API12,有哪些不同
- 跟着IBest-UI学HarmonyOS NEXT组件封装:Badge徽标
- 跟着IBest-UI学HarmonyOS NEXT组件封装:Watermark 水印
- 鸿蒙ArkUI-X已更新适配API13啦
- 【HarmonyOS 5】鸿蒙中的UIAbility详解(一)
- 跟着IBest-UI学HarmonyOS NEXT组件封装:TextEllipsis 文本省略
- harmony OS NEXT-Navigation的进阶知识与拦截器配置
- 鸿蒙开发:一文了解软键盘相关
- 鸿蒙 5 开发工具 Ark-TS UI 到底有多好用?一篇文章讲明白
- ArkUI-X添加到现有Android项目中