如何在 Flutter 中创建和使用响应式主题? [英] How to create and use responsive themes in Flutter?

查看:17
本文介绍了如何在 Flutter 中创建和使用响应式主题?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

当尝试从 MaterialApp 访问 MediaQuery 时,我正在使用不包含 MediaQuery 的上下文调用 MediaQuery.of().:

I'm getting MediaQuery.of() called with a context that does not contain a MediaQuery. when trying to access MediaQuery from MaterialApp:

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

推荐答案

改用 MaterialAppbuilder.这样您就可以在 Theme 中使用由 MatetialApp 实例化的 MediaQuery.

Use builder of MaterialApp instead. So that you can use MediaQuery instantiated by MatetialApp inside your Theme.

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

这篇关于如何在 Flutter 中创建和使用响应式主题?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆