首页 > 解决方案 > 如何使用 TabBar 的主题?

问题描述

我为 TabBar 创建了一个主题,

class AppWidget extends StatelessWidget {
  const AppWidget();
  @override
  Widget build(BuildContext context) {
        return MaterialApp(
          theme: ThemeData(
            tabBarTheme: TabBarTheme(
              unselectedLabelColor: Colors.black, // and so on
              ),),
          home: const HomePage(),
        );},);}
}

当我使用 TabBar 时,我创建的主题没有实现。如何在 TabBar 实现中使用上面的 TabBar 主题?

TabBar 的代码是:

class HomeCustomAppBar extends StatelessWidget with PreferredSizeWidget {
  @override
  Widget build(BuildContext context) {
    return Container(
      child: AppBar(
        // how to get the TabBar Theme here?
        bottom:TabBar([]),
      ),
    );
  }

  @override
  Size get preferredSize => Size.fromHeight(140);
}

标签: flutterthemes

解决方案


理想情况下,您不需要直接使用它,TabBarTheme它应该在 ThemeData 中设置后自动应用于所有 TabBar。不过,如果您仍然希望访问它,您可以使用:

TabBarTheme.of(context)

推荐阅读