【Harmony OS】【ArkUI】ets开发 图形与动画绘制

这篇具有很好参考价值的文章主要介绍了【Harmony OS】【ArkUI】ets开发 图形与动画绘制。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

【ArkUI】ets开发 图形与动画绘制

前言:之前我们已经完成了Harmony ArkUI 使用ets方式实现基础的页面布局和数据连接的学习,这次我们在原有的基础上进行一些图片和动画的绘制学习。本篇是以HarmonyOS官网的基于TS扩展的声明式开发范式文档,绘图和动画为基础进行编写。所以笔者将原文进行整合,提取出其中的要点,以便通俗易懂地呈现给读者,希望能帮助你快速了解Harmony的ETS开发,学会简单的图形和动画绘制的学习。本篇最后会贴上参考原文链接。

 

首先讲一下大致的思路,我们要使用组件工具绘制基本的几何图形,绘制自定义几何图形,给图形添加动画效果,以及页面的转场动画。所以笔者将整个功能的实现分为了两个步骤,图形绘制和动画绘制,这与原篇大致相同。

 

1.         图形绘制。

在之前的学习中,我们已经建立的项目,页面布局已经完备,这次学习我们就在这基础上进行图形绘制。FoodDetail页面的食物成分表里,给每一项成分名称前都加上一个圆形的图标作为成分标签。

1)       绘制基本图形。创建Circle组件,在每一项含量成分前增加一个圆形图标作为标签。修改FoodDetail页面的ContentTable组件里的IngredientItem方法,在成分名称前添加Circle。每个成分的标签颜色不一样在build方法中,调用IngredientItem,给每个Circle填充不一样的颜色。

打开previewer或模拟器看一下效果

2)       绘制自定义图形。在pages文件夹下创建新的eTS页面Logo.ets。在Logo.ets中创建Logo Component,创建Flex组件为根节点,创建Shape组件为Flex子组件。给页面填充渐变色。设置为线性渐变,偏移角度为180deg,三段渐变 #BDE895 -->95DE7F --> #7AB967

打开previewer或模拟器看一下效果

3)       绘制路线Path,设置其绘制命令。填充颜色为白色。

4)       在Shape组件内绘制第二个Path。第二条Path的背景色为渐变色。Path的绘制命令比较长,可以将其作为组件的成员变量,通过this调用。完成应用Logo的绘制。Shape组合了三个Path组件。

打开previewer或模拟器看一下效果

 

2.         动画绘制。

上一部分我们已经学习了普通图形和自定义图形的绘制,这一部分我们会在图形绘制的基础上给推行添加动画效果,让图形动起来,这就是动画绘制。

动画功能分为组件动画和页面间动画,在本节主要完成两个动画效果:Logo图标的渐出和放大效果与食物列表页和食物详情页的转场动画效果。

1)       闪屏动画。闪屏动画的预期效果是,进入Logo页面后,animateTo动画效果自动开始播放。调用Shape的onAppear方法,设置其显式动画。创建opacity和scale数值的成员变量,用装饰器@State修饰。表示其为有状态的数据,即改变会触发页面的刷新。

2)       设置animateTo的动画曲线curve。Logo的加速曲线为先慢后快,使用贝塞尔曲线cubicBezier,cubicBezier(0.4, 0, 1, 1)。使用插值计算,首先要导入curves模块。

3)       设置动画时长为1s,延时0.1s开始播放,设置显示动效event的闭包函数,实现Logo的渐出和放大效果。闪屏动画播放结束后定格1s,进入FoodCategoryList页面。设置animateTo的onFinish回调接口,调用定时器Timer的setTimeout接口延时1s后,调用router.replace,显示FoodCategoryList页面。

打开previewer或模拟器看一下效果

4)       页面转场动画。食物分类列表页和食物详情页之间的共享元素转场,即点击FoodListItem/FoodGridItem后,食物缩略图会放大,随着页面跳转,到食物详情页的大图。引入curves模块。在FoodListItem的Image组件上设置autoResize为false,因为image组件默认会根据最终展示的区域,去调整图源的大小,以优化图片渲染性能。

5)       设置FoodDetail页面的FoodImageDisplay的Image组件的共享元素转场方法(sharedTransition)。设置方法同上。

打开previewer或模拟器看一下效果

以上,本次的内容分享,谢谢!

参考原文链接:

https://developer.harmonyos.com/cn/docs/documentation/doc-guides/ui-ts-drawing-feature-0000001192705721文章来源地址https://www.toymoban.com/news/detail-598448.html

欲了解更多更全技术文章,欢迎访问:https://developer.huawei.com/consumer/cn/forum/topic/0201822056273660002?fid=0102683795438680754?ha_source=zzh

到了这里,关于【Harmony OS】【ArkUI】ets开发 图形与动画绘制的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Harmony OS 开发指南——源码下载和编译

    本文介绍了如何下载鸿蒙系统源码,如何一次性配置可以编译三个目标平台( Hi3516 , Hi3518 和 Hi3861 )的编译环境,以及如何将源码编译为三个目标平台的二进制文件。 坑点总结 : 下载源码基本上没有太多坑,可以很顺利的进行 编译源码主要的一个大坑是,默认版本的 s

    2023年04月18日
    浏览(52)
  • Stage模型详解,UIability------Harmony OS 开发(第五期)

    如上图所示,蓝色框内就是代表一个模块, 一个工程下可以有n个模块,但只能有一个entry模块,即入口模块(核心),里面是该APP的主要功能 。模块分为两种类型: Ability Module和Library Module模块 ,前者是能力模块,用于实现对应的页面和功能,后者是共享模块,里面的功能和已经创

    2024年01月24日
    浏览(47)
  • 鸿蒙HarmonyOS应用开发能找到工作么?_harmony os 应用开发前景

    四、如何学习鸿蒙HarmonyOS应用开发技术? 为了能够帮助大家快速掌握鸿蒙(Harmony NEXT)应用开发技术知识。 首先得是开发语言 ArkTS,这个尤为重要,然后就是ArkUI声明式UI开发、Stage模型、网络/数据库管理、分布式应用开发、进程间通信与线程间通信技术、OpenHarmony多媒体技

    2024年04月27日
    浏览(41)
  • 【Harmony OS】【JAVA UI】鸿蒙智能手表开发,如何判断未联网

     在手表开发过程中,手表是否连接网络怎么判断呢?下面我们就来学习一下 【问题描述】 harmony智能手表开发,如何判断未联网(包括 wifi 和 数据业务) 【解决方案】 鸿蒙暂无判断联网的相关API。 我们可以调用http的网络请求的接口,比如下载前,可以先get或者post的接口

    2024年02月16日
    浏览(65)
  • 深入理解ArkTS:Harmony OS 应用开发语言 TypeScript 的基础语法和关键特性

    Harmony OS应用开发的主力语言ArkTS的前身TS语言的基本语法。通过学习变量的声明和数据类型、条件控制、函数声明、循环迭代等基本知识,并了解内核接口的声明和使用。同时还介绍了模块化开发的概念,提高代码的复用性和开发效率。该对话还涉及了if else和switch条件控制语

    2024年02月04日
    浏览(49)
  • 鸿蒙Harmony ArkUI十大开源项目

    一 ArkUI_Component https://gitee.com/J-Design/ArkUI_Component ArkUI组件库示例App。包括基础组件、容器组件、弹窗组件,可以在预览器或真机中,实时预览组件接口、属性调整的效果。 ArkUI 组件示例覆盖情况 继续研究更新中 组件名称 ArkUI组件示例 备注 基础组件 AlphabetIndexer - Blank - Butto

    2024年02月04日
    浏览(52)
  • 鸿蒙开发-UI-图形-绘制自定义图形

    鸿蒙开发-UI-组件 鸿蒙开发-UI-组件2 鸿蒙开发-UI-组件3 鸿蒙开发-UI-气泡/菜单 鸿蒙开发-UI-页面路由 鸿蒙开发-UI-组件导航-Navigation 鸿蒙开发-UI-组件导航-Tabs 鸿蒙开发-UI-图形-图片 鸿蒙开发-UI-图形-绘制几何图形 文章目录 前言 一、使用画布组件绘制自定义图形 1.初始化画布组

    2024年04月15日
    浏览(34)
  • 【100天精通python】Day39:GUI界面编程_PyQt 从入门到实战(下)_图形绘制和动画效果,数据可视化,刷新交互

    目录 专栏导读  6 图形绘制与动画效果 6.1 绘制基本图形、文本和图片

    2024年02月12日
    浏览(53)
  • 【Harmony OS - 消息通知】

    应用可以通过接口发送通知消息,提醒用户关注应用中的变化。用户可以在通知栏查看和操作通知内容,通常用于当应用处于后台时,发送,本文主要来介绍在Harmony OS中的三种消息通知。 总体流程有三步: 导入notification模块 配置通知参数之后通过publish发布通知 取消通知

    2024年02月01日
    浏览(41)
  • Harmony OS—UIAbility的使用

    UIAbility是一种包含用户界面的应用组件,主要用于和用户进行交互。UIAbility也是系统调度的单元,为应用提供窗口在其中绘制界面。一个应用可以有一个UIAbility,也可以有多个UIAbility,类似于Android 的 Activity,如果有安卓基础的同学,也可以结合过往知识点学习。比如 设置路

    2024年02月04日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包