首页 > 解决方案 > 如何让我的主题数据延续到 Flutter 中的新页面

问题描述

所以我在 Flutter 中构建了一个应用程序,并在 main.dart 文件中设置了主题数据。当我导航到新页面时,主题不一样,我不知道为什么。我对 Flutter 还很陌生,希望主题在整个应用程序中保持一致。

这是我如何导航页面的代码:

 Navigator.push(
                context,
                MaterialPageRoute(
                  builder: (BuildContext context) => JournalYearlyPage(),
                ),
              );

这是我在 main.dart 文件的无状态小部件中设置主题的代码:

    class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Tasklist App',
      theme: ThemeData(
        primarySwatch: Colors.blue,
        primaryColor: Colors.tealAccent,
        primaryColorLight: Colors.lightBlue,
        primaryColorDark: Colors.blueGrey,
        backgroundColor: Colors.black54,
        dividerColor: Colors.teal,
        brightness: Brightness.dark,
        textTheme: TextTheme(
          bodyText1: TextStyle(color: Colors.white),
          subtitle2: TextStyle(color: Colors.black54),
          subtitle1: TextStyle(color: Colors.white),
          headline2: TextStyle(color: Colors.white),
          headline3: TextStyle(color: Colors.white),
          headline4: TextStyle(color: Colors.white),
          headline5: TextStyle(color: Colors.white),
          headline6: TextStyle(color: Colors.white),
        ),
      ),
      home: Controller(title: 'tasklist home'),
    );
  }
}

任何人都知道如何使我的主题数据在页面之间保持一致?

标签: flutterdart

解决方案


如果你想让你的主题全局应用,你需要在你的 main.dart 文件中设置它。

前任:

MaterialApp(
  title: "your app name",
  theme: ThemeData(),
);

您可以在此处找到更多详细信息:主题文档


推荐阅读