
回复
作者:彭为杰
【本文正在参与51CTO HarmonyOS技术社区创作者激励计划-星光计划2.0】
在项目开发中,我们经常会用到自定义组件,此处分享一下HarmonyOS中JS如何利用canvas实现自定义组件之可拖拽圆形进度条。
思路参考: 可拖拽圆形进度条组件(支持移动端))
这里并未采用官方文档说通过element引入到宿主页面的方式;
采用上述过程发了bug:canvas首次渲染绘制的不显示;
解决方案: 在页面生命周期onShow的时候,通过js让canvas绘制一次;
定义构造函数,声明绘制圆的参数;
canvas的API参考:canvas组件-画布组件
根据当前进度 分段式的绘制需要的各个小控件;
手势按下,手势移动,手势抬起的事件处理
1,目前在API6及一下手机,canvas绘制时会是屏幕闪烁(API7远程模式无此现象);
2,无论什么语言,思路都是大体相同,绘制,手势,事件分发等;
入门到精通、技巧到案例,系统化分享HarmonyOS开发技术,欢迎投稿和订阅,让我们一起携手前行共建鸿蒙生态。