在Android中,您可以使用比例无关像素(Sp)设置字体大小,以考虑设置中 Select 的user font size preferences.

android:textSize="26sp"

在iOS中,你可以用Dynamic Type来做类似的事情.

label.font = UIFont.preferredFont(forTextStyle: .body)
label.adjustsFontForContentSizeCategory = true

在《颤栗》中你是如何做同样的事情的?

推荐答案

默认情况下,Flutter 具有accessibility support for larger fonts个内置功能.可以通过指定textScaleFactor来替代此行为,Flutter 通常使用textScaleFactor来应用用户选定的文字大小.

您可以通过比较两个文本小部件来测试这一点,第二个文本小部件将textScaleFactor设置为1.0.它们的默认字体大小都是14.0逻辑像素.

Widget _myWidget() {
  return Column(
    mainAxisAlignment: MainAxisAlignment.center,
    children: <Widget>[
      Text('Some sample text'),
      Text('Some sample text', textScaleFactor: 1.0),
    ],
  );
}

您可以按如下方式获取当前文本比例因子:

final scale = MediaQuery.of(context).textScaleFactor;

Android

在Android设置中,Accessibility > Font size Select 最小的尺寸.

enter image description here

再做一次, Select 最大的尺寸.

enter image description here

请注意,第一个文本小部件文本大小发生了变化,但第二个具有textScaleFactor覆盖的小部件没有.

iOS

在IOS中,转到Settings > General > Accessibility > Larger text并 Select 最小的选项.

enter image description here

同样是最大的设置:

enter image description here

Flutter相关问答推荐

在Flutter中创建具有固定行的压缩水平列表

我的flutter代码显示一个小部件被认为是死代码,为什么?

blocTest错误:没有从`when()`中调用方法存根

Firebase存储不显示在Flutter 中链接的图像

我有相关的下拉菜单Flutter Windows应用程序的问题

在使用FutureProvider时,我想显示用于加载的指示器,但无法自定义大小

Flutter卡内容未在水平列表视图中居中

Flutter中的编译时间常量方法

StateNotifer正在riverpod中提供初始状态值(bool)

Flutter应用无法上传到Microsoft Store

断言失败:std::move(hal_2_1_verifier).Run(). 初始化,LE音频客户端至少需要Bluetooth音频HAL V2.1

点击按钮后重新启动定时器

Flutter firebase_auth 和 firebase_core 依赖错误

无法在 ListView (Flutter) 中限制 Card 的最大宽度

如何在 Flutter 中将 ScaffoldMessenger 中的 Snackbar 显示为 Widget?

Banner Ad.test 广告单元 ID 是否已过时?

如何在Flutter 中根据其父小部件高度设置图标按钮飞溅半径

如何使按钮被选中?

Flutter 本地通知在最新版本中不起作用

如何在 CircleAvatar 中使用 Stack