Flutter 如何在Fatter中支持文本大小的可访问性,如Android sp大小和iOS动态类型
在Android中,您可以使用缩放独立像素(sp)设置字体大小,以考虑在设置中选择的字体大小Flutter 如何在Fatter中支持文本大小的可访问性,如Android sp大小和iOS动态类型,flutter,accessibility,font-size,Flutter,Accessibility,Font Size,在Android中,您可以使用缩放独立像素(sp)设置字体大小,以考虑在设置中选择的字体大小 android:textSize="26sp" 在iOS中,你可以使用类似的方法来实现 label.font = UIFont.preferredFont(forTextStyle: .body) label.adjustsFontForContentSizeCategory = true 如何在颤振中执行相同的操作?默认情况下,颤振已内置。您可以通过指定textScaleFactor来覆盖此行为,
android:textSize="26sp"
在iOS中,你可以使用类似的方法来实现
label.font = UIFont.preferredFont(forTextStyle: .body)
label.adjustsFontForContentSizeCategory = true
如何在颤振中执行相同的操作?默认情况下,颤振已内置。您可以通过指定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),
],
);
}
安卓
在Android设置中,选择最小的字体大小
再做一次,选择最大的尺寸
请注意,第一个文本小部件的文本大小发生了变化,但第二个带有textScaleFactor
覆盖的文本小部件没有发生变化
网间网操作系统
在iOS中,进入设置>常规>辅助功能>大文本并选择最小的选项
同样,在最大的设置下:
但如何在保持可访问性的同时可变地控制文本大小?正如您所说,
textScaleFactor
覆盖可访问性控件。@JoeLapp,您仍然可以通过设置文本的style属性(style:TextStyle(fontSize:30)
)将文本大小设置为正常大小。这允许你在保持可访问性的同时控制文本大小。哦!不知何故,我开始假设fontSize
覆盖textScaleFactor
,但现在我发现它没有。谢谢有没有办法获得当前的文本比例?如果规模太大,我想重新排列我的小部件,我想我找到了。您可以使用MediaQuery.of(context.textScaleFactor)