J'utilise React Native 0.29 avec un émulateur Android (API de niveau 23). J'essaie d'obtenir letterSpacing
sur Text
composante. Mais cela ne semble pas fonctionner sur Android. La documentation officielle dit que cela ne fonctionne que sur iOS. Y at-il une solution de contournement de ce problème?
Le manque d'espacement des lettres sur Android peut être "résolu" en ajoutant un ou plusieurs espaces entre chaque caractère. J'ai trouvé que le code unicode HAIR_SPACE U+200A
donnait les meilleurs résultats, mais vous devrez peut-être expérimenter pour trouver celui qui convient le mieux à votre police. Par exemple, 2 espaces pour les cheveux ou un U+2009 THIN SPACE
.
function applyLetterSpacing(string, count = 1) { return string.split('').join('\u200A'.repeat(count));}
Cela fonctionne probablement mieux pour les en-têtes et les étiquettes de menu.
Espaces Unicode: https://www.cs.tut.fi/~jkorpela/chars/spaces.html
On dirait qu'à partir de React Native 0.30 letterSpacing est uniquement sur iOS. Vous pouvez toujours ajouter ceci et émettre une demande de tirage :)
Une autre option pourrait être de pirater une fonction qui prend une chaîne et ajoute un espacement autour de chaque lettre. (ce serait un bidouillage cependant!)
Mettez à jour React Native avec au moins la version 0.55 pour que l'espacement des lettres sous Android fonctionne.