gpt4 book ai didi

flutter - 如何支持 Flutter 中的文本大小可访问性,如 Android sp 大小和 iOS 动态类型

转载 作者:IT王子 更新时间:2023-10-29 06:54:01 27 4
gpt4 key购买 nike

在 Android 中,您可以使用与比例无关的像素 (sp) 来设置字体大小,以考虑到 user font size preferences在设置中选择。

android:textSize="26sp"

在 iOS 中你可以使用 Dynamic Type所以类似的东西。

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

你如何在 Flutter 中做同样的事情?

最佳答案

Flutter 有 accessibility support for larger fonts默认内置。您可以通过指定 textScaleFactor 来覆盖此行为,Flutter 通常使用它来应用用户选择的文本大小。

您可以通过比较两个文本小部件来对此进行测试,第二个小部件将 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 设置辅助功能 > 字体大小中选择最小的大小。

enter image description here

再做一次,选择最大的尺寸。

enter image description here

请注意,第一个文本小部件文本更改了大小,但第二个带有 textScaleFactor 覆盖的小部件没有。

苹果

在 iOS 中,转到设置 > 通用 > 辅助功能 > 较大的文本,然后选择最小的选项。

enter image description here

再次使用最大设置:

enter image description here

关于flutter - 如何支持 Flutter 中的文本大小可访问性,如 Android sp 大小和 iOS 动态类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54486797/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com