J'ai essayé de créer une fonction dans mon application React Native qui génère un paragraphe avec un dropcap. Voici le code que je utilise:Réagir Différence de style IOS/Android natif
export function returnFirstParagraph(contentRef) {
return (
<View>
<View style={{ flex: 1, flexDirection: 'row', marginTop: 40, marginBottom: 10 }}>
<Text style={{ fontSize: 16, lineHeight: 28, alignSelf: 'flex-start' }}>
<Text style={{ fontSize: 40, lineHeight: 28, }}>
{contentRef.charAt(0)}
</Text>
{contentRef.slice(1)}
</Text>
</View>
</View>
);
}
contentRef
est simplement une chaîne qui est passée d'un autre fichier et contient le texte pertinent.
Comme vous pouvez le voir, les coupes de la version iOS du haut de la première ligne, ajoute padding/marge sous la première ligne et ne regarde pas bien. La version Android, quant à elle, est sortie comme je m'y attendais.
Quelqu'un peut-il suggérer pourquoi cela se produit?
Editer: Il a été suggéré d'enlever lineHeight du code. Cela a changé les choses, mais pas résolu le problème:
Cela fait une différence, mais dans iOS, il y a toujours un plus grand espace sous la première ligne que le reste de l'espacement. En outre, l'interface utilisateur requiert l'interlignage car l'espacement des lignes de paragraphe doit avoir une quantité d'espace blanche verticale entre les deux. La version Android ajoute ensuite une tonne d'espacement - J'ai mis à jour ma question initiale pour montrer ce remplissage –
au dessus '' et vérifier si cela fonctionne –
arjun
Malheureusement non - le remplissage apparaît juste autour de l'élément de texte sous la forme d'un bloc et n'a aucune incidence sur l'interligne. –