如何将BottomBar中间的Home按钮设为DefaultTabController默认选中项?
解决DefaultTabController默认选中中间Home按钮的问题
你只需要给DefaultTabController添加initialIndex参数,设置为1(因为Tab的索引从0开始,中间的Home是第二个Tab,对应索引1),就能默认选中中间的Home按钮。
修改后的main.dart代码:
import 'package:flutter/material.dart'; import 'package:contact/widgets/bottom_bar.dart'; void main() => runApp(MyApp()); class MyApp extends StatefulWidget{ MyAppState createState() => MyAppState(); } class MyAppState extends State<MyApp> { @override Widget build(BuildContext context) { return MaterialApp( title: "flutter_project", debugShowCheckedModeBanner: false, theme: ThemeData( primaryColor: Colors.white, ), home: DefaultTabController( length: 3, initialIndex: 1, // 新增该行,设置默认选中索引为1的Tab child: Scaffold( body: TabBarView( physics: NeverScrollableScrollPhysics(), children: [ Container(), Container(), Container(), ], ), bottomNavigationBar: Bottom(), ), ), ); } }
说明:
initialIndex参数指定了TabController初始化时选中的Tab索引,默认值为0,所以之前默认选中第一个menu按钮。- 无需修改
bottom_bar.dart的代码,保持原结构即可。
内容的提问来源于stack exchange,提问作者Hwang Soohyeon
相关产品推荐
相关产品推荐

