问题
当自定义 ScrollController 后,会使原本的点击状态栏回到顶部失效。但是又要获取滚动状态。
解决
那就使用默认的 PrimaryScrollController ,不进行自定义 ScrollController ,即不对 controller 赋值。
然后获取默认的 PrimaryScrollController ,添加监听。
@override
void didChangeDependencies() {
super.didChangeDependencies();
PrimaryScrollController.of(context)?.addListener(scrollViewDidScroll);
}
void scrollViewDidScroll() {
ScrollController? controller = PrimaryScrollController.of(context);
if (controller != null) {
// 获取滚动状态
// controller.offset
}
}
@override
void deactivate() {
super.deactivate();
PrimaryScrollController.of(context)?.removeListener(scrollViewDidScroll);
}