如何让它影响RichText和TextSpan的设备字体大小

问题描述 投票:0回答:4

我对

RichText
TextSpan
小部件有疑问。所有
Text
小部件均受设备字体大小(在设置中更改)影响,但
RichText
不受影响。有什么想法可以解决吗?

flutter flutter-layout
4个回答
6
投票

我是这样解决的:

RichText(
    textScaleFactor: MediaQuery.of(context).textScaleFactor, <--- add this
    text: ...
)

5
投票

实际上

RichText
是较低级别的小部件之一,您需要自己处理很多事情。

您应该尝试使用

Text.rich()
来代替。它与
RichText
几乎相同,但继承了父窗口小部件树的样式。


0
投票

已接受的答案现已弃用。这是确保

RichText
小部件缩放的更新方法。虽然 WSBT 的答案中的
Text.rich()
也是一个很好的解决方案。

RichText(
  textScaler: TextScaler.linear(
    MediaQuery.of(context).textScaler.scale(1),
 ),


0
投票

从 Flutter 3.x 开始,您应该在

RichText
中进行设置,以便它对设备文本比例因子变化做出反应:

textScaler: MediaQuery.textScalerOf(context),

另外,在iOS模拟器上,当模拟器聚焦时,您可以使用快捷键:

Command + option + plus/minus
来测试不同的文字大小

© www.soinside.com 2019 - 2024. All rights reserved.