首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CustomScrollView内部的TabView

CustomScrollView内部的TabView
EN

Stack Overflow用户
提问于 2019-01-07 06:43:08
回答 1查看 8.5K关注 0票数 5

用SliverFillRemaining包装TabBarView (填充剩余的空格,如扩展)会产生以下错误输出。

flutter: RenderPositionedBox需要类型为RenderBox的子项,但接收到的子项类型为flutter: RenderSliverList。

代码语言:javascript
复制
TabController tabContoller;
    @override
  void initState() {
    tabContoller = new TabController(
      vsync: this,
      length: 3,
    );


 @override
 Widget build(BuildContext context) {
    return new Scaffold(
        floatingActionButton:floatActionBtn(...),
        bottomNavigationBar: bottomNavigationBar(...),
        appBar: apBar(),
        body: Stack(
          children: <Widget>[
            CustomScrollView(
              slivers: <Widget>[
                SliverAppBar(
                  backgroundColor: Colors.transparent,
                  automaticallyImplyLeading: false,
                  expandedHeight: 195.0,
                  flexibleSpace: FlexibleSpaceBar(
                    background: new Stack(
                        children: <Widget>[
                          ...

                        ]),
                  ),
                ),
                  new SliverFillRemaining(
                    child: TabBarView(
                      controller: tabContoller,
                      children: <Widget>[
                        Tab(...),
                        Tab(...),
                        Tab(...)
                      ],
                    ),
                  ),
              ],
            ),
          ],

        )
EN

回答 1

Stack Overflow用户

发布于 2019-01-07 07:59:02

不要忘记DefaultTabController,这段代码运行得很好:

代码语言:javascript
复制
         @override
          Widget build(BuildContext context) {
            return DefaultTabController(
              length: 3,
              child: Container(
                  child: CustomScrollView(slivers: <Widget>[
                SliverAppBar(),
                new SliverFillRemaining(
                  child: TabBarView(
                    children: <Widget>[
                      Text("Tab 1"),
                      Text("Tab 2"),
                      Text("Tab 3"),
                    ],
                  ),
                ),
              ])),
            );
          }
票数 13
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54066604

复制
相关文章

相似问题

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