J'ai un TextView qui affiche un long texte. Je veux donner un espace entre les lignes comme en CSS avec la propriété line-height. Comment puis-je le faire?
Vous pouvez utiliser lineSpacingExtra
et lineSpacingMultiplier
dans votre fichier XML.
vous pouvez regarder dans Android:lineSpacingExtra
et l'appliquer à votre XML
Informations supplémentaires sur cette page
ou la méthode associée public void setLineSpacing (float add, float mult)
Si vous voulez un remplissage entre les textes, essayez LineSpacingExtra="10dp"
<TextView
Android:layout_width="match_parent"
Android:layout_height="180dp"
Android:lineSpacingExtra="10dp"/>
Vous pouvez utiliser la fonction TextView.setLineSpacing(n,m)
.
En ajoutant Android:lineSpacingMultiplier="0.8"
, l'interligne peut atteindre 80%.
Cette réponse supplémentaire montre l’effet de changer l’espacement des lignes.
Vous pouvez définir le multiplicateur et/ou un espacement supplémentaire avec
textView.setLineSpacing(float add, float mult)
Ou vous pouvez obtenir les valeurs avec
int lineHeight = textView.getLineHeight();
float add = tvSampleText.getLineSpacingExtra(); // API 16+
float mult = tvSampleText.getLineSpacingMultiplier(); // API 16+
où la formule est
lineHeight = fontMetricsLineHeight * mult + add
Le multiplicateur par défaut est 1
et l'espacement supplémentaire par défaut est 0
.