如何正确管理颤动APP中的全局文本缩放因子? [英] How to manage global textScaleFactor in Flutter app properly?

查看:0
本文介绍了如何正确管理颤动APP中的全局文本缩放因子?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

颤动应用程序对系统大文本做出反应,使所有文本窗口小部件都变得非常大。 我想限制文本小工具的文本比例因子,但我想在全局范围内进行,而不是在我正在使用的每个文本小工具中。

现在,在启用大文本后,我收到了如下异常:

颤动:渲染库捕获到══╡异常 ╞═════════════════════════════════════════════════════════颤动: 布局过程中抛出以下消息:Ffltter:A RenderFlex 底部溢出了14个像素。

做这件事的正确方法是什么? 一种方法是创建一些包装小工具,而不是使用文本,但也许可以用其他方法来解决?

推荐答案

此解决方案在Google I/O'19期间(大约20分钟)提供:

MaterialApp(
  builder: (BuildContext context, Widget child){
    final MediaQueryData data = MediaQuery.of(context);
    return MediaQuery(
      data: data.copyWith(
        textScaleFactor: data.textScaleFactor * (_isPassive ? 2 : 1)
      ),
      child: child,
    );
  },
如果您希望所有内容都有一个固定的textScaleFactor,您可以将data.textScaleFactor * (_isPassive ? 2 : 1)替换为单个数字。1.0会使您的设计始终遵循fontSize

这篇关于如何正确管理颤动APP中的全局文本缩放因子?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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