class MyWidget extends StatelessWidget {
@override
Widget build(BuildContext context) {
return ListView(
children: [
Card(
child: DefaultTabController(
length: 2,
child: Column(
children: const [
TabBar(
tabs: [
Tab(icon: Icon(Icons.cloud_outlined)),
Tab(icon: Icon(Icons.beach_access_sharp)),
],
),
SizedBox(
height: 300, // delete this.
child: TabBarView(
children: [
//ListView(shrinkWrap: true) ← and adjust the TabBarView to the height of this.
Text(''),
],
),
),
],
),
),
),
],
);
}
}
我正在制作一个卡片,它允许你用TabBar切换内容。我想让TabBarView的高度与孩子们的ListView的高度相匹配,但当我删除SizedBox或使用Expanded时,我得到一个错误。你能建议我使用其他小部件的选项以及?
2条答案
按热度按时间dojqjjoe1#
试试这个
w41d8nur2#
这项工作对我来说,我使用这个Flutter包:https://pub.dev/packages/autoscale_tabbarview
并在文件中将TabBarView替换为AutoScaleTabBarView