HarmonyOS 类似GestureDetector、ScrollerCompat 的实现
Harmony Next 是否有类似 GestureDetector、ScrollerCompat 的实现?
在使用HarmonyOS 绘制图表的过程中,需要做到手指点击并滑动 Canvas,画布上绘制的图形能跟随手指滑动,手指抬起后,图形能具有惯性继续减速滑动。
app 项目中,使用的是 GestureDetector、ScrollerCompat 实现,通过 ScrollerCompat.getCurrX()、getCurrY() 获取滚动的偏移位置,通过 ScrollerCompat.fling() 触发惯性滑动,通过 GestureDetector.onTouchEvent() 触发滑动事件,并获取 onScroll() 回调。
总之就是我希望在 Canvas 内,有一个类似 Scroll 容器那样的处理滚动的工具类,在我实现 Canvas 绘制过程中,能讲绘制的元素滚动起来。
MPChart 开源项目中,使用的是矩阵变换,实现方式不同,实现的效果也没有 Scroll 那种惯性效果。
请问HarmonyOS 中有类似的工具实现吗?
在 Tabs 中的图表,控制器无法正常工作
我在实现app图表绘制过程中,参考 MPChart 图表绘制,一个 chart 通过一个 model 实现数据驱动,而 model 在父组件中作为成员变量实例化。
现在我的父组件中有一个 Tabs,每个 tab 页有一个 chart,都绑定同一个 model,在每次 Tabs 切换后,发现,只有最新渲染的 tab 页中,model 正常驱动刷新了 chart,已经渲染过的旧 tab 页,model 的更新,无法影响它们。
我现在的做法是,父组件在生成 Tabs 时,有几个 tab 页,就创建几个 model 列表,chart 至绑定对应编号的 model,切换 tab 页时,更新对应 model,或者更新所有 model,chart 可以被正常更新。
请问为什么不能所有 tab 页中,chart 绑定同一个 model?
可以参考下arkui上的实现: