禁用字体缩放可能会损害应用程序的可访问性,理想情况下,如果您想限制使用 React Native 0.58.0 及更高版本的应用程序的缩放;使用maxFontSizeMultiplier prop https://facebook.github.io/react-native/docs/text#maxfontsizemultiplier关于具体的Text
成分。
但是,如果您绝对想在整个应用程序中禁用字体缩放,则可以通过全局设置来实现allowFontScaling prop https://facebook.github.io/react-native/docs/text#allowfontscaling in the defaultProps
of Text
.
您应该将这些行放在根入口点中(通常index.js
) 前AppRegistry.registerComponent
.
对于 React Native 0.56.0+
Text.defaultProps = Text.defaultProps || {};
Text.defaultProps.allowFontScaling = false;
对于早期版本的 React Native,你应该只需要第二行,但同时拥有这两行也没什么坏处。第一行只是防止Text
组件不具有defaultProps
React Native 0.56.0 及以上版本就是这种情况。
将以上行添加到 React Native 应用程序的入口点文件中(通常index.js
, app.js
or main.js
)将此道具应用于所有Text
您的应用程序中的组件。
该道具只会影响Text
组件,您可能希望将相同的更改应用于TextInput
这可以用类似的代码片段来完成:
TextInput.defaultProps = TextInput.defaultProps || {};
TextInput.defaultProps.allowFontScaling = false;
另请注意,某些组件不会遵循字体缩放设置,例如:Alert
, PickerIOS
, DatePickerIOS
, TabBarIOS
, SegmentedControlIOS
因为这些都是本机绘制的并且不依赖于Text
成分。