首页 > 解决方案 > 在这种情况下如何使用提供程序

问题描述

我想创建一个更改应用程序主题模式,我看到了一种使用 Provider 创建它的方法,但我是 Provider 的新手。例如,我想添加一些这样的代码

高亮代码(突出显示的代码)

在我的主要由许多路线组成

我的主要

标签: flutterflutter-providerflutter-theme

解决方案


您想更改应用程序的主题,然后需要将提供程序向上移动,以便它可以覆盖小部件(在这种情况下为应用程序)状态,您可以在 main 方法中执行以下操作:

runApp(ChangeNotifierProvider(

    create: (context) => ThemeProvider(),
    child:MyApp()

);

现在对于孩子,您可以像这样在构建方法中简单地调用提供者

Widget build(){
   var themeProvider = Provider.of<ThemeProvider>(context);
}

或者你可以使用消费者小部件

Consumer<ThemeProvider>(
builder: (context, provider, child) {
//return something
}

)

推荐阅读