如何从 textScaleFactor 迁移到 TextScalar.scale

spy*_*don 8 dart flutter

textScaleFactor最近已被弃用,人们应该使用 aTextScaler.scale(double fontSize)代替,但并非所有采用 a 的地方textScaleFactor似乎都支持新方式。

例如,ButtonStyleButton.scaledPadding正在接受 a textScaleFactor,但是fontSize您应该调用什么TextScalar.scale来作为比例因子传入?

    ButtonStyleButton.scaledPadding(
      const EdgeInsets.symmetric(horizontal: 16),
      const EdgeInsets.symmetric(horizontal: 8),
      const EdgeInsets.symmetric(horizontal: 4),
      MediaQuery.maybeOf(context)?.textScaler.scale(??),
    );
Run Code Online (Sandbox Code Playgroud)

之前:

    ButtonStyleButton.scaledPadding(
      const EdgeInsets.symmetric(horizontal: 16),
      const EdgeInsets.symmetric(horizontal: 8),
      const EdgeInsets.symmetric(horizontal: 4),
      MediaQuery.maybeOf(context)?.textScaleFactor,
    );
Run Code Online (Sandbox Code Playgroud)

Kar*_*yan 5

我有同样的问题。对于替代方案,也许我们可以这样做

final textScaleFactor = TextScaler.scale(10) / 10;
Run Code Online (Sandbox Code Playgroud)