反应本机最大值以缩放字体

Att*_*ila 8 scaling text react-native

我知道我可以通过放入Text.defaultProps.allowFontScaling = false根组件的构造函数(即,在根index.js或App.js文件中)在React Native应用程序中全局禁用字体缩放。但是,有没有一种方法可以允许最大值进行缩放,而不是完全禁用它?

我曾尝试过adjustsFontSizeToFit = true考虑这会阻止文本放大到很大的尺寸(确实如此),但是现在所有文本都变得太小,并且破坏了应用程序的样式。

我尝试将其minimumFontScaleadjustsFontSizeToFit上述方法结合使用,因为根据docsminimumFontScale“指定启用adjustsFontSizeToFit时字体可以达到的最小比例。” 我将此值设置为,1.0但文本仍会按比例放大到难以理解的大小(例如,如果在iOS中启用了“较大的可访问性大小”并将其设置为最大比例),并将其设置为较低的值(例如0.25)将允许文字可以合理地适合我的应用程序,但是间距和相对大小被破坏了。

如果文本将保留为默认大小,并且仍允许在iOS中启用“可访问性大小”,但仅在一定程度上允许扩展,这将是很好的办法吗?

Dav*_*ori 6

在 react native 0.58+ 中,您可以在 Text Component https://facebook.github.io/react-native/docs/text#maxfontsizemultiplier 中使用新的道具 maxFontSizeMultiplier


Jam*_*mes 2

您可以使用

allowFontScaling={false}

随着

Math.min(PixelRatio.getFontScale() * yourFontSizeBase, yourFontSizeBase)

限制最大字体大小。