web-dev-qa-db-fra.com

Android TextView padding entre les lignes

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?

192
Çağatay Gürtürk

Vous pouvez utiliser lineSpacingExtra et lineSpacingMultiplier dans votre fichier XML.

378
Romain Guy

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)

Informations supplémentaires ici

71
sealz

Si vous voulez un remplissage entre les textes, essayez LineSpacingExtra="10dp"

<TextView
        Android:layout_width="match_parent"
        Android:layout_height="180dp"
        Android:lineSpacingExtra="10dp"/>
67
chanu panwar

Vous pouvez utiliser la fonction TextView.setLineSpacing(n,m).

16
Vishnu Haridas

En ajoutant Android:lineSpacingMultiplier="0.8", l'interligne peut atteindre 80%.

10
Ajitsen

Cette réponse supplémentaire montre l’effet de changer l’espacement des lignes.

enter image description here

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.

10
Suragch