怎么让Canvas刷新呀?
在Canvas上画一个圆,然后随着我手指在Canvas上移动,那个圆跟着移动,为此我自定义了一个控件如下(是伪代码,仅表意思):
@component
struct MyCanvas {
@State context: CanvasRenderingContext2D = new CanvasRenderingContext2D();
@State 起始位置
build( ) {
Canvas(this.context)
.onReady(() => {
在“起始位置”处画圆
})
.onTouch(event: TouchEvent) => {
更改“起始位置”
})
}
}
现在的问题是,在手指移动事件中,我虽然改变了“起始位置”,但Canvas并不刷新(并不会再走onReady),所以圆不会移动,我感觉我还没有理解ArtTS UI的刷新机制,Text(msg)可以自动刷新是因为改变了 @State msg,但这个Canvas的参数 context 怎么改变以引起Canvas刷新呢?请问我的问题出在哪里呢?如果我的思路整个就是错的,那应该怎么实现我这个功能呢?
HarmonyOS
赞
收藏 0
回答 1
待解决
相关问题
Canvas如何触发刷新重复绘制?
816浏览 • 1回复 待解决
如何控制canvas组件的刷新呢
358浏览 • 1回复 待解决
HarmonyOS 自定义Canvas刷新和@ObservedV2如何配合刷新?
175浏览 • 1回复 待解决
如何实现主动控制组件刷新?例如在使用Canvas的场景需要使用代码主动刷新UI
1940浏览 • 1回复 待解决
我的P4怎么升级鸿蒙系统呀?
6074浏览 • 2回复 待解决
swicth得怎么用呀有没有懂的啊?
377浏览 • 1回复 待解决
Canvas画的时候,怎么设置画笔颜色
300浏览 • 1回复 待解决
HarmonyOS调试时修改代码如何让app自动刷新,不用每次都重启
223浏览 • 1回复 待解决
canvas怎么绘制资源目录下的图片
587浏览 • 1回复 待解决
DevEco Studio提供的分布式模拟器怎么使用呀
5513浏览 • 1回复 待解决
怎么让项目全局使用d.ts
3262浏览 • 1回复 待解决
HarmonyOS 如何让自定义类中的属性变化引起UI刷新?
296浏览 • 1回复 待解决
abilityslice的意义是什么呀
10871浏览 • 3回复 待解决
List实现TAB的点击事件的你们都怎么写的呀?
338浏览 • 1回复 待解决
怎么让页面虚化有懂的吗?
2230浏览 • 1回复 待解决
华为LiteWearable里面的canvas不能用,那怎么绘图呢
7409浏览 • 2回复 待解决
HarmonyOS Canvas.drawImage怎么绘制本地图片,并指定大小?
32浏览 • 0回复 待解决
RTOS在什么项目能用到呀?
6850浏览 • 3回复 待解决
列表局部刷新,有人知道怎么处理吗?
698浏览 • 1回复 待解决
HarmonyOS avsession怎么刷新媒体中心的信息?
141浏览 • 1回复 待解决
List局部刷新,有人知道怎么处理吗?
1106浏览 • 1回复 待解决
HarmonyOS 如何触发更新自定义组件里的数据并让其刷新UI?
510浏览 • 1回复 待解决
canvas filltext 怎么设置文字的颜色,fillStyle和stokeStyle试过都不行
2008浏览 • 1回复 待解决
console.log在哪里看呀。
17560浏览 • 3回复 已解决
Canvas刷新可以采用的方案是:将@State装饰的变量使用@Watch进行监听,变量变化时触发自定义方法重新绘制,参考文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/arkts-watch-V5
可以使用绘制组件中的Circle组件结合组件通用事件中的拖拽事件进行实现。