Flutter 点击状态栏回到顶部,滚动监听

2022-11-10  本文已影响0人  xxxixxxx

问题

当自定义 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);
  }
上一篇下一篇

猜你喜欢

热点阅读