我正在使用React Native构建应用。问题是,当通过手机的设置更改字体大小时,字体大小也会在应用中发生变化,即使它们都设置了固定的字体大小。
例如,请考虑以下Text
元素,字体大小为12:
<Text style={{fontSize: 12}}>Hello World</Text>
我发现这个问题有一个名为allowFontScaling
的道具。所以,我转到App.js
并添加以下行以禁用整个应用中的字体缩放:
Text.defaultProps.allowFontScaling = false;
完美无缺。但是,TextInput
元素似乎没有实现相同的道具。当我尝试对TextInput
执行相同操作时,出现以下错误:
undefined不是一个对象(评估 &#39; _reactNative.TextInput.defaultProps.allowFontScaling = false&#39;)
因此,我可以为Text
设置固定的字体大小,但不能为TextInput
设置固定的字体大小。这个问题有解决方法吗?我的本机版本是0.48.4。
提前致谢。
答案 0 :(得分:2)
由于“ TextInput”的allowFontScaling属性在android上不起作用,因此iOS和android的解决方法都是-
它将修复您的fontSize,并且不会由于系统设置而更改
答案 1 :(得分:1)
一个简单的解决方案是在我的App.js文件顶部添加以下代码:
Text.defaultProps = {
...(Text.defaultProps || {}),
allowFontScaling: false,
};
TextInput.defaultProps = {
...(TextInput.defaultProps || {}),
allowFontScaling: false,
};
干杯。