flutter tabbar 居中
时间: 2023-12-10 09:01:20 浏览: 404
要将Flutter中的TabBar居中,可以通过使用DefaultTabController结合TabBar和TabBarView来实现。
首先,在Scaffold的appBar属性中创建一个TabBar,并设置为居中显示。代码如下:
```dart
appBar: AppBar(
title: Text("TabBar示例"),
bottom: PreferredSize(
preferredSize: Size.fromHeight(40.0),
child: TabBar(
indicatorColor: Colors.white,
labelColor: Colors.white,
unselectedLabelColor: Colors.grey,
tabs: [
Tab(
text: "Tab 1",
),
Tab(
text: "Tab 2",
),
Tab(
text: "Tab 3",
),
],
),
),
),
```
接着,在Scaffold的body属性中创建一个TabBarView,用于显示对应的内容页面。代码如下:
```dart
body: TabBarView(
children: [
Center(
child: Text("内容1"),
),
Center(
child: Text("内容2"),
),
Center(
child: Text("内容3"),
),
],
),
```
然后,在StatefulWidget中使用DefaultTabController包裹Scaffold并设置length属性,来指定TabBar中Tab的数量。代码如下:
```dart
@override
Widget build(BuildContext context) {
return DefaultTabController(
length: 3,
child: Scaffold(
appBar: AppBar(
title: Text("TabBar示例"),
bottom: PreferredSize(
preferredSize: Size.fromHeight(40.0),
child: TabBar(
indicatorColor: Colors.white,
labelColor: Colors.white,
unselectedLabelColor: Colors.grey,
tabs: [
Tab(
text: "Tab 1",
),
Tab(
text: "Tab 2",
),
Tab(
text: "Tab 3",
),
],
),
),
),
body: TabBarView(
children: [
Center(
child: Text("内容1"),
),
Center(
child: Text("内容2"),
),
Center(
child: Text("内容3"),
),
],
),
),
);
}
```
通过以上方法,就可以实现在Flutter中将TabBar居中显示的效果。
阅读全文