在下图中,我检查了与左侧Android和iOS右侧渲染相同的Text-component。似乎iOS将字体呈现在Text-container的顶部。
我在Android和iOS上都使用相同的TTF字体文件。 (我找到了一个在线参考我正在使用的字体here。)
如何让Android和iOS的字体呈现方式相同?
为了清楚起见,差异不是由任何样式(边距,字体大小等)引起的。它完全一样。
答案 0 :(得分:7)
我找到了一个解决方案,但感觉不对。我认为你应该找到另一种在每台设备上渲染相同的字体。
您可以使用lineHeight
,padding
和margin
来为文本组件获取相同的垂直对齐方式:
Ios:
instructions: {
fontFamily: 'Metric-Regular',
fontSize: 50,
lineHeight: 50,
paddingTop: 25,
marginBottom: -35,
marginTop: 35
}
答案 1 :(得分:0)
问题是lineGap
和ascender
.ttf
字体文件参数。使用ftxdumperfuser
工具修复它们。选中https://medium.com/@martin_adamko/consistent-font-line-height-rendering-42068cc2957d