如何防止Android系统字体设置更改react-native应用程序中的字体?

qybjjes1  于 2022-12-09  发布在  Android
关注(0)|答案(3)|浏览(176)

因此,当用户将字体类型更改为粗体时,我们会遇到这个奇怪的错误。它会破坏应用程序的布局,图标无法加载,而不是显示[x]符号或一些中文字符(我认为这种行为取决于用户的手机)。

ajsxfq5m

ajsxfq5m1#

另一种方法是,您可以使用自定义组件来控制此问题。例如,

import React from 'react';
import {StyleSheet, Text, TextStyle} from 'react-native';

type Props = {
  children: any;
  color: string;
  fontSize: number;
  style?: TextStyle;
};

export default function TextNormal({
  children,
  color,
  style,
  fontSize,
}: Props) {
  return (
    <Text style={[styles.text, {color, fontSize}, style]}>{children}</Text>
  );
}
const styles = StyleSheet.create({
  text: {
    fontWeight: 'normal',
  },
});
yhuiod9q

yhuiod9q2#

要禁用按系统字体大小缩放应用的字体大小,只需禁用Text标记中的allowFontScaling属性,例如:

<Text allowFontScaling={false}>Demo</Text>

对于粗体文本的设置,我没有任何想法。

2w3rbyxf

2w3rbyxf3#

您可以将此代码添加到index.js

AppRegistry.registerComponent(appName, () => App);

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

它将禁用应用程序中的所有文本缩放。

相关问题