You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 21:12:32