Как сменить тему с помощью мульти провайдера? - PullRequest
0 голосов
/ 08 ноября 2019

Здравствуйте, я использую Multiprovider в приложении, одним из этих поставщиков является GlobalProvider, который содержит информацию о состоянии приложения, я хочу использовать этого поставщика для переключения яркости темы. Но я получаю сообщение об ошибке, когда пытаюсь запустить прикрепленный код.

void main() => runApp(NextActionApp());

class NextActionApp extends StatelessWidget {
  const NextActionApp({Key key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return MultiProvider(
      providers: [
        ChangeNotifierProvider<GlobalBloc>.value(
          value: GlobalBloc(),
        ),
      ],
      child: MaterialApp(
        title: 'App',
        home: InboxPage(),
        theme: ThemeData(
          primarySwatch: Colors.deepPurple,
          brightness: Provider.of<GlobalBloc>(context).isDarkModeEnabled
              ? Brightness.dark
              : Brightness.light,
        ),
      ),
    );
  }
}
...