如何在 Flutter 中创建和使用响应式主题?

Fab*_*bio 2 flutter flutter-layout

我MediaQuery.of() called with a context that does not contain a MediaQuery.在尝试从MaterialApp以下位置访问 MediaQuery 时遇到了:

return new MaterialApp(
  title: 'Flutter Demo',
  theme: getTheme(MediaQuery.of(context)),
  home: new Container(),
);
Run Code Online (Sandbox Code Playgroud)

Rém*_*let 5

使用builder的MaterialApp替代。所以,你可以使用MediaQuery实例通过MatetialApp您的内部Theme。

new MaterialApp(
  builder: (context, child) {
    return new Theme(
      data: getTheme(MediaQuery.of(context)),
      child: child,
    );
  },
  home: new ChatScreen(),
),
Run Code Online (Sandbox Code Playgroud)


归档时间:

查看次数:

825 次

最近记录:

8 年,5 月 前