当前位置: 首页 > news >正文

HarmonyOS 6 ArkUI 运动路径动画(motionPath)使用文档

文章目录

    • 运动路径动画核心
      • 1. 组件作用
      • 2. 核心适用场景
      • 3. 官方标准参数
    • 示例代码解析
      • 1 状态变量定义
      • 2 运动路径动画核心配置
        • 对应功能解析:
      • 3 动画触发逻辑
        • 对应功能:
      • 4 布局控制
    • 运行效果
    • 完整代码
    • 总结

运动路径动画核心

1. 组件作用

motionPath是 ArkUI 提供的运动路径动画属性,用于让组件沿着预设的 SVG 路径规则移动,支持起点/终点自动绑定、路径插值、自动旋转朝向等能力。

2. 核心适用场景

  • 按钮/图片沿曲线/直线移动
  • 引导动画、轨迹动画
  • 配合animateTo实现可控运动过渡
  • 支持自动旋转、路径起点终点自适应

3. 官方标准参数

参数含义
path运动路径,支持 SVG 路径语法(M=起点,L=直线,end=终点)
from动画起始位置(0~1)
to动画结束位置(0~1)
rotatable沿路径移动时是否自动旋转朝向

示例代码解析

1 状态变量定义

@Statetoggle:boolean=true;
  • toggle是运动动画的控制变量
  • 变量改变 → 组件位置变化 → 触发motionPath动画
  • 配合animateTo实现平滑过渡

2 运动路径动画核心配置

.motionPath({path:'Mstart.x start.y L300 200 L300 500 Lend.x end.y',from:0.0,to:1.0,rotatable:true})
对应功能解析:
  1. path路径语法

    • Mstart.x start.y:从组件当前位置开始移动
    • L300 200:直线移动到坐标 (300, 200)
    • L300 500:直线移动到坐标 (300, 500)
    • Lend.x end.y:移动到组件最终位置
  2. from: 0.0
    动画从路径起点开始。

  3. to: 1.0
    动画执行到路径终点结束。

  4. rotatable: true
    组件移动时自动旋转朝向路径方向(官方推荐用法)。


3 动画触发逻辑

.onClick(()=>{this.getUIContext()?.animateTo({duration:4000,curve:Curve.Linear},()=>{this.toggle=!this.toggle;});})
对应功能:
  1. 点击按钮触发动画
  2. animateTo显式动画
    • duration: 4000:动画时长4秒
    • curve: Curve.Linear匀速运动
  3. this.toggle切换
    改变组件对齐方式,驱动路径动画执行。

4 布局控制

.alignItems(this.toggle?HorizontalAlign.Start:HorizontalAlign.Center)
  • toggle = true:组件居左(起点)
  • toggle = false:组件居中(终点)
  • 位置变化由motionPath自动生成平滑运动轨迹

运行效果

  1. 点击click me按钮
  2. 按钮沿轨迹匀速移动
    起点 → (300,200) → (300,500) → 终点
  3. 移动过程中自动旋转方向
  4. 全程动画时长4000ms
  5. 再次点击可往返运动

完整代码

// xxx.ets@Entry@Componentstruct MotionPathExample{@Statetoggle:boolean=true;build(){Column(){Button('click me').margin(50).motionPath({path:'Mstart.x start.y L300 200 L300 500 Lend.x end.y',from:0.0,to:1.0,rotatable:true})// 执行动画:从起点移动到(300,200),再到(300,500),再到终点.onClick(()=>{this.getUIContext()?.animateTo({duration:4000,curve:Curve.Linear},()=>{this.toggle=!this.toggle;// 通过this.toggle变化组件的位置});})}.width('100%').height('100%').alignItems(this.toggle?HorizontalAlign.Start:HorizontalAlign.Center)}}

运行效果如图:


总结

  1. motionPath 必须配合状态变化使用
    仅通过属性无法自动播放,需要状态变量驱动位置更新。

  2. path 支持 SVG 标准路径指令
    M(起点)、L(连线)、C(曲线)、Q(二次曲线)等均可使用。

  3. rotatable: true 实现自动朝向
    是运动路径动画的核心特性之一。

  4. animateTo 控制动画速度与曲线
    与 motionPath 组合是官方推荐用法。

  5. 路径中 start / end 关键字
    自动绑定组件的初始位置与最终位置,无需写死坐标。

如果这篇文章对你有帮助,欢迎点赞、收藏、关注,你的支持是持续创作的动力

http://www.jsqmd.com/news/783593/

相关文章:

  • 长期项目使用Taotoken按Token计费带来的成本可控性体验
  • JVM 深度调优实战:从 JDK 8 到 JDK 21 的演进与中间件落地
  • cpu 系统调用热点 中断 调度队列 - 小镇
  • 菏泽牡丹区4个校区全科语文英语数学一对一单词速记快速提分 - 众智商学院课程中心
  • 2026最权威的六大降AI率方案推荐榜单
  • 基于openeuler2403sp3的容器,打包django运行环境镜像
  • 【通讯协议】232通讯:参数、外围电路组成及实战接线
  • 别再手动点地图了!用C++代码一键搞定ROS机器人(RVIZ)初始位姿设置
  • 空椅子上的辩证:AI元人文与中国实践哲学的八个张力统一
  • 基于LangChain.js与Azure构建企业级RAG聊天应用实战指南
  • CANN/opbase文档贡献指南
  • 视频理解中的稀疏注意力机制优化实践
  • Claude Code 软考辅导实战:高效备考与解题技巧
  • CANN权重量化批量矩阵乘法算子描述
  • 大连福邸加装饰设计:中山正规的家装装修公司推荐几家 - LYL仔仔
  • 在自动化工作流中集成Taotoken实现多模型智能调度
  • CANN/cann-recipes-infer Qwen3-MoE模型NPU推理
  • CANN算子测试竞赛作品
  • cann/cann-recipes-infer DeepSeek-R1推理优化
  • AI赋能胶质瘤病理诊断:从深度学习技术路径到临床应用解析
  • 调节效应不只是‘分组回归’:用真实商业案例讲透它在AB测试与产品策略中的应用
  • 内容创作场景下如何用Taotoken灵活调用最适合的文案生成模型
  • 别再死记硬背了!用这5个真实项目场景,彻底搞懂ROS节点、话题与服务
  • CANN/ops-blas ACLBLASLt接口文档
  • HarmonyOS 6 ArkUI 粒子动画(Particle)使用文档
  • 35岁转行AI,社恐杨老师教你如何在大模型时代找到自己的坐标(收藏版)
  • 从入门到精通:彻底讲懂Agent的Skill,不做“炫技式浪费”
  • GraphGen:从科学文本自动构建知识图谱的实战指南
  • 2026年德州沥青加温设备、沥青储存罐与筑路设备源头厂家完全采购指南 - 企业名录优选推荐
  • 语音AI测试:构建科学评估体系与工程实践