web-dev-qa-db-de.com

Buchstabenabstand bei React Native - Android

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?

11
Provash Shoumma

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

24
Hanse

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!)

4
John Veldboom

Aktualisieren Sie React Native auf mindestens Version 0.55 für den Buchstabenabstand auf Android, um zu funktionieren.

0