flutter - 如何使用我的整个应用程序在 TabBarView 中创建可滚动的内容?

我在 SingleChildScrollView 中创建了 TabBar。问题是我想用我的整个应用程序在 TabBarView 中创建可滚动的内容,而不是仅在 TabBarView 中滚动内容。我尝试了 ListView.Builder 和 NestedScrollView 但没有与我一起工作..有什么解决方案吗?

这是我的代码:

    class TwitterTabBare extends StatefulWidget {
      @override
      _TwitterTabBareState createState() => _TwitterTabBareState();
    }
    
    class _TwitterTabBareState extends State<TwitterTabBare>
        with SingleTickerProviderStateMixin {
      TabController _tabController;
      @override
      void initState() {
        super.initState();
        _tabController = TabController(length: 4, vsync: this);
      }
    
      @override
      Widget build(BuildContext context) {
        double screenHeight = MediaQuery.of(context).size.height;
        return column(
          children: <Widget>[
            TabBar(
              controller: _tabController,
              labelColor: Colors.blue,
              unselectedLabelColor: Colors.grey[700],
              tabs: <Widget>[
                Tab(
                  text: 'Tweets',
                ),
                Tab(
                  text: 'Replies',
                ),
                Tab(
                  text: 'Media',
                ),
                Tab(
                  text: 'Tweets',
                ),
              ],
            ),
            Container(
              constraints: BoxConstraints.expand(height: 300),
              child: TabBarView(
                controller: _tabController,
                children: <Widget>[
                  // CardPage(),
                  Column(
                    mainAxisSize: MainAxisSize.max,
                    children: <Widget>[
                      Text('Tweets & replies'),
                      Text('Tweets & replies'),
                      Text('Tweets & replies'),
                      Text('Tweets & replies'),
                      Text('Tweets & replies'),
                      Text('Tweets & replies'),
                      Text('Tweets & replies'),
                      Text('Tweets & replies'),
                      Text('Tweets & replies'),
                      Text('Tweets & replies'),
                      Text('Tweets & replies'),
                      Text('Tweets & replies'),
                      Text('Tweets & replies'),
                      Text('Tweets & replies'),
                      Text('Tweets & replies'),
                      Text('Tweets & replies'),
                      Text('Tweets & replies'),
                      Text('Tweets & replies'),
                      Text('Tweets & replies'),
                      Text('Tweets & replies'),
                      Text('Tweets & replies'),
                      Text('Tweets & replies'),
                      Text('Tweets & replies'),
                      Text('Tweets & replies'),
                      Text('Tweets & replies'),
                      Text('Tweets & replies'),
                      Text('Tweets & replies'),
                      Text('Tweets & replies'),
                      Text('Tweets & replies'),
                      Text('Tweets & replies'),
                      Text('Tweets & replies'),
                      Text('Tweets & replies'),
                      Text('Tweets & replies'),
                      Text('Tweets & replies'),
                      Text('Tweets & replies'),
                      Text('Tweets & replies'),
                      Text('Tweets & replies'),
                      Text('Tweets & replies'),
                      Text('Tweets & replies'),
                      Text('Tweets & replies'),
                      Text('Tweets & replies'),
                      Text('Tweets & replies'),
                      Text('Tweets & replies'),
                      Text('Tweets & replies'),
                      Text('Tweets & replies'),
                      Text('Tweets & replies'),
                      Text('Tweets & replies'),
                      Text('Tweets & replies'),
                      Text('Tweets & replies'),
                      Text('Tweets & replies'),
                      Text('Tweets & replies'),
                      Text('Tweets & replies'),
                      Text('Tweets & replies'),
                      Text('Tweets & replies'),
                                                                                                  
                    ],
                  ),
                      Text('Replies'),
                      Text('Media'),
                      Text('Likes'),
                ],
              ),
            ),
          ],
        );
      }
    }

最佳答案

您提供的代码片段的问题是该列不可滚动并在给定布局上溢出。您可以在这里考虑使用 ListView 来创建可滚动的 Widget。这是一个有效的 sample我发布的使用 ListView 和 TabBarView 的内容。要处理滑动到其他选项卡,需要使用 NestedScrollView。

https://stackoverflow.com/questions/58227418/

相关文章:

react-native - null 不是对象(评估 'StripeModule.init' )

flutter - Google AdMob 奖励视频有时只加载

wordpress - 您无权查看此页面 : JWT Authentication for WP R

selenium - 登录网站时如何使用 puppeteer/selenium 重用保存的凭据/密码

visual-studio-code - Prettier 在 React Code 中不工作并在状

java - elasticsearch 中的 too_many_buckets_exception

java - 创建名为“kafkaListenerContainerFactory”的 bean 时

google-maps - google_maps_flutter 或任何其他用于 flutter

apache-spark - 在 Spark 2.4.0 中使用 spark.sql 的 Hive

reactjs - Jest 测试无法使用 create react app 和 craco 导入铯