鸿蒙两个Scroll互相监听彼此的滑动-卡顿问题【坚果派】

两个Scroll互相监听彼此的滑动-卡顿问题

①手指滑动 Scroll1

②触发 Scroll1 的 onScroll

③调用 scroller2.scrollBy 滑动 Scroll2

④触发 Scroll2 的 onScroll

⑤调用 scroller1.scrollBy 滑动 Scroll1

这里⑤又会触发②,会一直循环,导致爆栈,就是你上面发的报错 [Error message: Stack overflow!]

所以加个标记flag:

flag=true 代表手指在滑动 Scroll1,不用再用 scroller1.scrollBy 滑动 Scroll1 了;

flag=false 代表手指在滑动 Scroll2,不用再用 scroller2.scrollBy 滑动 Scroll2 了;

这个 flag 名字改为 isTouchScroll1OrScroll2 会更直观一点

scroller1: Scroller = new Scroller()
scroller2

猜你喜欢

转载自blog.csdn.net/qq_39132095/article/details/133168255
今日推荐