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?
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?
Réponses:
Vous pouvez utiliser lineSpacingExtra
et lineSpacingMultiplier
dans votre fichier XML.
vous pouvez l'examiner android:lineSpacingExtra
et l'appliquer à votre XML
Des informations supplémentaires sont sur cette page
ou la méthode associée public void setLineSpacing (float add, float mult)
Si vous voulez un remplissage entre le texte, essayez LineSpacingExtra="10dp"
<TextView
android:layout_width="match_parent"
android:layout_height="180dp"
android:lineSpacingExtra="10dp"/>
Cette réponse supplémentaire montre l'effet de la modification de l'espacement des lignes.
Vous pouvez définir le multiplicateur et / ou l'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
.
Vous pouvez utiliser la TextView.setLineSpacing(n,m)
fonction.
La solution est simple. Utilisez simplement ces deux attributs dans votre TextView
, lineSpacingExtra
etlineSpacingMultiplier
Par exemple,
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:lineSpacingMultiplier="1.5"
android:lineSpacingExtra="5dp"/>