设备字体大小的放大有时会中断(样式方面)。
原文由 A-J-A 发布,翻译遵循 CC BY-SA 4.0 许可协议
设备字体大小的放大有时会中断(样式方面)。
原文由 A-J-A 发布,翻译遵循 CC BY-SA 4.0 许可协议
禁用字体缩放可能会损害您的应用程序的可访问性,理想情况下,如果您想限制使用 React 本机 0.58.0 及更高版本的应用程序的缩放;在特定的 Text
组件上使用 maxFontSizeMultiplier
道具。
但是,如果您绝对想在整个应用程序中禁用字体缩放,您可以通过在 defaultProps
的 Text
中全局设置 allowFontScaling
属性来实现。
您应该在 --- 之前将这些行放在您的根入口点(通常是 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 及更高版本的情况。
Add the above lines in the entry point file of your React Native application (usually index.js
, app.js
or main.js
) to apply this prop to all Text
应用程序中的组件。
此道具只会影响 Text
组件,您可能希望对 TextInput
应用相同的更改,这可以通过类似的代码段完成:
TextInput.defaultProps = TextInput.defaultProps || {};
TextInput.defaultProps.allowFontScaling = false;
Also note that some components wont obey font scaling settings, for example: Alert
, PickerIOS
, DatePickerIOS
, TabBarIOS
, SegmentedControlIOS
因为这些都是原生绘制的,不依赖 Text
组件。
原文由 levi 发布,翻译遵循 CC BY-SA 4.0 许可协议
3 回答1.3k 阅读✓ 已解决
1 回答1.7k 阅读✓ 已解决
2 回答1.1k 阅读
2 回答1.1k 阅读✓ 已解决
1 回答1.2k 阅读✓ 已解决
1 回答2.8k 阅读
1 回答1.5k 阅读
对于 React 本机 0.58+
最好保持字体缩放,但您可以通过使用 Text new prop maxFontSizeMultiplier 来限制它
对于 React native 0.56+ 使用 Levi’s answer
对于 React 本机 0.55 及更低版本
添加
Text.defaultProps.allowFontScaling=false
在应用程序的开头(例如 main.js 或 app.js 等),以将此道具应用于整个应用程序的所有文本组件。