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

问题

当自定义 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);
  }
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容