怎么让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
待解决
相关问题
HarmonyOS Canvas怎么刷新
923浏览 • 1回复 待解决
HarmonyOS 如何让Canvas重绘
1058浏览 • 1回复 待解决
如何控制canvas组件的刷新呢
1814浏览 • 1回复 待解决
Canvas如何触发刷新重复绘制?
1850浏览 • 1回复 待解决
HarmonyOS canvas是否有定时刷新的函数
954浏览 • 1回复 待解决
HarmonyOS 自定义Canvas刷新和@ObservedV2如何配合刷新?
1342浏览 • 1回复 待解决
HarmonyOS Canvas CanvasRenderingContext2D如何触发刷新重复绘制?
1076浏览 • 1回复 待解决
HarmonyOS canvas filltext怎么设置文字颜色
676浏览 • 1回复 待解决
请问arkts怎么用javascript的库呀
644浏览 • 0回复 待解决
如何实现主动控制组件刷新?例如在使用Canvas的场景需要使用代码主动刷新UI
2924浏览 • 1回复 待解决
Canvas画的时候,怎么设置画笔颜色
1454浏览 • 1回复 待解决
HarmonyOS Swiper嵌套的页面包含Canvas时,如何让Canvas可以响应左右滑动事件,但是不响应上下滑动
816浏览 • 1回复 待解决
HarmonyOS web组件怎么刷新
899浏览 • 1回复 待解决
HarmonyOS List怎么刷新数据?
1196浏览 • 1回复 待解决
日历里面怎么设置周首日为周二呀
526浏览 • 0回复 待解决
canvas怎么绘制资源目录下的图片
1627浏览 • 1回复 待解决
我的P4怎么升级鸿蒙系统呀?
7010浏览 • 2回复 待解决
swicth得怎么用呀有没有懂的啊?
1579浏览 • 1回复 待解决
HarmonyOS 怎么让整个Page重新加载
922浏览 • 1回复 待解决
HarmonyOS调试时修改代码如何让app自动刷新,不用每次都重启
1109浏览 • 1回复 待解决
HarmonyOS 如何让自定义类中的属性变化引起UI刷新?
1207浏览 • 1回复 待解决
华为LiteWearable里面的canvas不能用,那怎么绘图呢
8622浏览 • 2回复 待解决
HarmonyOS Canvas怎么在指定位置绘制垂直的文字
701浏览 • 1回复 待解决
怎么让项目全局使用d.ts
4604浏览 • 1回复 待解决
Canvas刷新可以采用的方案是:将@State装饰的变量使用@Watch进行监听,变量变化时触发自定义方法重新绘制,参考文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/arkts-watch-V5
可以使用绘制组件中的Circle组件结合组件通用事件中的拖拽事件进行实现。