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

MAUI Shell顶部固定标题添加及TabBar尺寸调整咨询

问题解答

1. 实现AppShell顶部固定标题(切换Tab不改变)

直接在AppShell的Scaffold组件中设置全局的appBar,不要在每个Tab对应的页面里单独设置AppBar。示例代码如下:

class MyAppShell extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return DefaultTabController(
      length: 3, // 你的Tab数量
      child: Scaffold(
        // 全局固定的AppBar,切换Tab不会变化
        appBar: AppBar(
          title: Text("固定标题"),
          bottom: TabBar(
            tabs: [
              Tab(text: "首页"),
              Tab(text: "我的"),
              Tab(text: "设置"),
            ],
          ),
        ),
        body: TabBarView(
          children: [
            HomePage(), // 这些页面里不要再设置AppBar
            ProfilePage(),
            SettingsPage(),
          ],
        ),
      ),
    );
  }
}

确保全局的AppBar是最外层Scaffold的一部分,而非每个子页面的组件。

2. 控制TabBar的尺寸

完全可以控制TabBar的尺寸,常用方法如下:

  • 直接设置TabBar的height属性:
TabBar(
  height: 60, // 自定义TabBar的高度
  tabs: [
    Tab(text: "首页"),
    Tab(text: "我的"),
  ],
)
  • 用Container包裹TabBar,设置宽高:
Container(
  height: 50,
  width: double.infinity,
  child: TabBar(
    tabs: [
      Tab(text: "首页"),
      Tab(text: "我的"),
    ],
  ),
)

另外,还可以通过调整Tab内部的padding、字体大小间接调整TabBar整体尺寸,比如:

Tab(
  child: Padding(
    padding: EdgeInsets.symmetric(vertical: 8),
    child: Text("首页", style: TextStyle(fontSize: 16)),
  ),
)

内容的提问来源于stack exchange,提问作者Yanshof

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 06:22:11