时钟动效开发(OpenHarmony) 原创 精华
野生菌君
发布于 2023-6-21 16:45
浏览
1收藏
时钟开发
场景介绍
常见的时钟呈现方式有两种,一种是表盘方式,一种是数字方式。用户可根据个人喜好在两种形式间进行切换。本例即为大家讲解如何开发上述两种钟表样式,以供参考。
效果呈现
本例最终效果如下:
运行环境
本例基于以下环境开发,开发者也可以基于其他适配的版本进行开发:
- IDE: DevEco Studio 3.1 Beta2
- SDK: Ohos_sdk_public 3.2.11.9 (API Version 9 Release)
实现思路
- 表盘方式的展示:通过Canvas组件提供画布;在画布上,通过CanvasRenderingContext2D对象使用RenderingContext在Canvas组件上进行绘制,绘制表盘上的数字、时针、分针、秒针。表盘上数字的分布使用fillText绘制填充类文本并确定其在画布上位置;表盘上时针的运动通过theta的角度决定时针的移动;分针和秒针同上。
- 数字时间方式的展示:使用TextClock组件通过文本将系统时间显示在设备上。
开发步骤
根据上述思路,具体实现步骤如下:
- 表盘方式:通过CanvasRenderingContext2D对象使用RenderingContext在Canvas组件上进行绘制,绘制表盘上的数字、时针、分针、秒针。
首先,创建画布,具体代码如下: 声明相关变量,具体代码如下: 使用fillText方法绘制表盘数字并确定其位置 时针的移动路径,具体代码如下: 分针的移动路径,具体代码如下: 秒针的移动路径,具体代码如下: - 时钟方式的转换:通过Button组件中的onClick事件进行切换页面。
从表盘方式往数字方式转换,具体代码如下: 从数字时间方式往表盘方式转换,具体代码如下: - 数字时间方式:使用TextClock组件通过文本将当前系统时间显示在设备上。
具体代码如下:
完整代码
完整示例代码如下:
表盘时钟代码页
数字时间代码页:
参考
©著作权归作者所有,如需转载,请注明出处,否则将追究法律责任
分类
赞
3
收藏 1
回复
3
4
1
相关推荐
感觉非常适合做到手表上
学习下源码
是的,运动手表的表盘是比较适合的
一起学习!