React Native上的字母间距 - Android

Pro*_*mma 12 react-native react-native-android

我正在使用React Native 0.29和Android模拟器(API Level 23).我想实现letterSpacingText组件.但它似乎不适用于Android.官方文档说它只适用于iOS.这个问题有解决方法吗?

小智 25

Android上缺少字母间距可以通过在每个字符之间添加一个或多个空格来"解决".我发现unicode HAIR_SPACE U+200A可以提供最佳效果,但您可能需要尝试找到最适合您字体的内容.例如2个头发空间或一个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

  • 一个问题是文本在每个字符后可以断开的较长(破碎)文本(因为有空格).有人找到了解决方案吗? (2认同)

Men*_*san 5

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

<Text style={{ fontSize: 18, letterSpacing: 3, color: '#FFFFFF' }}>Stack Overflow</Text>
Run Code Online (Sandbox Code Playgroud)


Joh*_*oom 4

看起来从 React Native 0.30 开始,letterSpacing也仅适用于 iOS。您始终可以添加此内容并发出拉取请求:)

另一种选择可能是编写一个函数,该函数接受一个字符串并在每个字母周围添加间距。(不过这将是一个黑客!)