Интервал между письмами на React Native - Android

Я использую React Native 0.29 с Android-эмулятором (API-уровень 23). Я пытаюсь letterSpacing компонент letterSpacing on Text. Но, похоже, он не работает на Android. Официальная документация говорит, что она работает только в iOS. Существует ли какое-либо обходное решение этой проблемы?

Ответы

Ответ 1

Отсутствие разметки букв на Android можно "решить", добавив одно или несколько пробелов между каждым символом. Я нашел unicode HAIR_SPACE U+200A чтобы дать наилучшие результаты, но вам, возможно, придется поэкспериментировать, чтобы найти то, что лучше подходит для вашего шрифта. Например, 2 пространства для волос или одно U+2009 THIN SPACE.

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

Это, вероятно, лучше всего подходит для заголовков и надписей меню.

Юникодные пространства: https://www.cs.tut.fi/~jkorpela/chars/spaces.html

Ответ 2

Похоже на React Native 0.30 letterSpacing - это только iOS. Вы всегда можете добавить это и выдать запрос на перенос :)

Другим вариантом может быть взломать функцию, которая принимает строку и добавляет расстояние вокруг каждой буквы. (это был бы взлом, хотя!)

Ответ 3

Обновите React Native до версии не ниже 0.55, чтобы интервал между буквами на Android работал.