我在 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