17

我正在使用带有 Android 模拟器(API 级别 23)的 React Native 0.29。我正在尝试letterSpacingText组件上实现。但它似乎不适用于Android。官方文档说它只适用于 iOS。有没有解决这个问题的方法?

4

4 回答 4

28

Android 上缺少字母间距可以通过在每个字符之间添加一个或多个空格来“解决”。我发现 unicodeHAIR_SPACE U+200A可以提供最好的结果,但是您可能需要尝试找到最适合您的字体的字体。例如 2 个头发空间或 1 个U+2009 THIN SPACE

function applyLetterSpacing(string, count = 1) { return string.split('').join('\u200A'.repeat(count)); }

它可能最适合标题和菜单标签。

Unicode 空格:https ://www.cs.tut.fi/~jkorpela/chars/spaces.html

于 2016-08-01T09:29:08.953 回答
8

您可以使用 Text 组件的默认道具在字母之间留出空格。像

<Text style={{ fontSize: 18, letterSpacing: 3, color: '#FFFFFF' }}>Stack Overflow</Text>
于 2021-01-27T12:09:42.120 回答
4

看起来像 React Native 0.30 letterSpacing也只是 iOS。您可以随时添加它并发出拉取请求 :)

另一种选择可能是将一个函数组合在一起,该函数接受一个字符串并在每个字母周围添加间距。(虽然这将是一个黑客攻击!)

于 2016-07-30T20:22:45.203 回答
2

将 React Native 更新到至少0.55版,以便在 Android 上运行字母间距。

于 2019-02-19T07:24:10.080 回答