在更改设备字体时,应用程序字体 changes.How 对其进行限制?

On changing device font, app font changes.How to restrict that?

我在 React Native 应用程序中使用了一种自定义字体。当用户转到 phone 设置并更改字体大小时,一切正常。然后在应用程序中 UI 看起来很丑陋。我已经使用 StyleSheet.create 方法在应用程序中创建所有样式,并且还为文本提供了明确的字体大小。但是即使 phone 设置字体大小发生变化,我的应用程序字体大小也会发生变化。

有没有办法限制应用程序字体大小的任何更改,而不管用户在 phone 设置中可以做什么?

您可以在文本组件中使用此属性 allowFontScaling={false} 停止缩放。

参考 - https://reactnative.dev/docs/text#allowfontscaling

我能够在每个页面中使用以下代码解决这个问题

constructor() {
    super();
    if (Text.defaultProps == null) Text.defaultProps = {};
       Text.defaultProps.allowFontScaling = false;
}

希望对其他人也有帮助。

或者您可以将此添加到您的主应用 index.js 文件

// Override Text scaling
if (Text.defaultProps) {
  Text.defaultProps.allowFontScaling = false;
} else {
  Text.defaultProps = {};
  Text.defaultProps.allowFontScaling = false;
}

// Override Text scaling in input fields
if (TextInput.defaultProps) {
  TextInput.defaultProps.allowFontScaling = false;
} else {
  TextInput.defaultProps = {};
  TextInput.defaultProps.allowFontScaling = false;
}