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 lineSpacingExtraet lineSpacingMultiplierdans votre fichier XML.
vous pouvez l'examiner android:lineSpacingExtraet 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 1et 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, lineSpacingExtraetlineSpacingMultiplier
Par exemple,
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:lineSpacingMultiplier="1.5"
android:lineSpacingExtra="5dp"/>