首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用flutter NestedScrollView?

如何使用flutter NestedScrollView?
EN

Stack Overflow用户
提问于 2019-04-24 12:07:02
回答 1查看 4K关注 0票数 1

我实现了一些NestedScrollView,如下所示。它会导致错误“必须在包含NestedScrollView的上下文中调用”。但是我使用Builder构建了这个小部件,这在flutter文档手册中有介绍。我该怎么办?

代码语言:javascript
复制
return NestedScrollView(
      headerSliverBuilder: (context, isInScroll) {
        /* something*/
      },
      body: Hero(
        tag: widget.folderInfo.title + 'body',
        child: Container(
          padding: EdgeInsets.fromLTRB(16.0, 20.0, 16.0, 16.0),
          child: Builder(
            builder: (context) {
              print("built body builder");
               // below line causes error "must be called with a context that contains a NestedScrollView"
              var handle =
                  NestedScrollView.sliverOverlapAbsorberHandleFor(context);
              );
            },
          ),
        ),
      ),
    );
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-04-24 14:26:48

Builder函数需要一个返回语句,而您提供的代码中似乎缺少该语句。

下面的代码在屏幕上工作并打印test

代码语言:javascript
复制
return NestedScrollView(
          headerSliverBuilder: (BuildContext context, bool innerBoxIsScrolled) {
            return <Widget>[
              SliverAppBar()
            ];
          },
          body: Hero(
            tag: 'test',
            child: Container(
              padding: EdgeInsets.fromLTRB(16.0, 20.0, 16.0, 16.0),
              child: Builder(builder: (context) {
                var handle = NestedScrollView.sliverOverlapAbsorberHandleFor(context);
                print('test');
                return Container( . // whatever you want to return here
                 child: Text('test'),
                );
                print('test');

              })
            ),
          ),
    );
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55822274

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档