我可以使用两种主题数据类型吗



我正在尝试在MaterialApp中使用这两种主题数据类型。看看:

return GetMaterialApp(
debugShowCheckedModeBanner: false,
title: 'DISH Connect',
home: SiteLayout(),
theme: ThemeData.light(),
darkTheme: ThemeData.dark(),
darkTheme: ThemeData(
pageTransitionsTheme: PageTransitionsTheme(
builders: {
TargetPlatform.iOS: FadeUpwardsPageTransitionsBuilder(),
TargetPlatform.android: FadeUpwardsPageTransitionsBuilder(),
},
),
),
themeMode: provider.themeMode,
);

你可以看到,对于我的普通主题选项,我有ThemeData.light((。我想对dark做同样的事情(这意味着我必须做"ThemeData.dark(("(。但我也希望能够为这些声明我的页面TransitionTheme。

我怎样才能做到这一点?

您可以使用copyWith()方法:

darkTheme: ThemeData.dark().copyWith(
pageTransitionsTheme: PageTransitionsTheme(
builders: {
TargetPlatform.iOS: FadeUpwardsPageTransitionsBuilder(),
TargetPlatform.android: FadeUpwardsPageTransitionsBuilder(),
},
),
),

最新更新