Ich verwende React Native 0.29 mit Android-Emulator (API Level 23). Ich versuche, letterSpacing
auf Text
-Komponente zu erreichen. Aber es scheint nicht auf Android zu funktionieren. Offizielle Dokumentation besagt, dass es nur unter iOS funktioniert. Gibt es eine Problemumgehung für dieses Problem?
Der fehlende Buchstabenabstand bei Android kann durch Hinzufügen eines oder mehrerer Leerzeichen zwischen jedem Zeichen "gelöst" werden. Ich habe den Unicode HAIR_SPACE U+200A
gefunden, um die besten Ergebnisse zu erzielen. Möglicherweise müssen Sie jedoch experimentieren, um herauszufinden, was für Ihre Schriftart am besten geeignet ist. Zum Beispiel 2 Haare oder einen U+2009 THIN SPACE
.
function applyLetterSpacing(string, count = 1) { return string.split('').join('\u200A'.repeat(count));}
Es funktioniert wahrscheinlich am besten für Überschriften und Menübeschriftungen.
Unicode-Bereiche: https://www.cs.tut.fi/~jkorpela/chars/spaces.html
Sieht aus wie ab React Native 0.30 letterSpacing ist nur iOS. Sie können dies immer hinzufügen und eine Pull-Anfrage ausstellen :)
Eine andere Option könnte darin bestehen, eine Funktion zusammen zu hacken, die eine Zeichenfolge verwendet und Abstand um jeden Buchstaben hinzufügt. (Es wäre aber ein Hack!)
Aktualisieren Sie React Native auf mindestens Version 0.55 für den Buchstabenabstand auf Android, um zu funktionieren.