Imbottitura Android TextView tra le righe


217

Ho un TextView che visualizza un lungo testo. Voglio dare un po 'di spazio tra le linee come nei CSS con proprietà line-height. Come posso farlo?

Risposte:


408

Puoi usare lineSpacingExtrae lineSpacingMultipliernel tuo file XML.


13
lineSpacingMultiplier funziona per me con valori float come: android: lineSpacingMultiplier = "0.8"
Juan Saravia

7
Puoi spiegare come funzionano? Da dove vengono prese queste misure? Puoi fornire esempi in relazione al carattere e anche alla lingua? Ad esempio, la spaziatura tra le linee viene misurata dalla linea di base, ma la lingua dell'Asia orientale non ha una linea di base. Dove viene definita la spaziatura di linea predefinita? È nel carattere stesso?
Christopher Perry,

Ad esempio: android: lineSpacingExtra = "2dp"
nibbana,


73

Se si desidera riempire tra il testo, provare LineSpacingExtra="10dp"

<TextView
        android:layout_width="match_parent"
        android:layout_height="180dp"
        android:lineSpacingExtra="10dp"/>

30

Questa risposta supplementare mostra l'effetto della modifica della spaziatura di linea.

inserisci qui la descrizione dell'immagine

È possibile impostare il moltiplicatore e / o la spaziatura aggiuntiva con

textView.setLineSpacing(float add, float mult)

Oppure puoi ottenere i valori con

int lineHeight = textView.getLineHeight();
float add = tvSampleText.getLineSpacingExtra();          // API 16+
float mult = tvSampleText.getLineSpacingMultiplier();    // API 16+

dove si trova la formula

lineHeight = fontMetricsLineHeight * mult + add

Il moltiplicatore predefinito è 1e la spaziatura aggiuntiva predefinita è 0.



14

L'aggiunta android:lineSpacingMultiplier="0.8"può rendere l'interlinea all'80%.


5

La soluzione è semplice Basta usare questi due attributi nel vostro TextView, lineSpacingExtraelineSpacingMultiplier

Per esempio,

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:lineSpacingMultiplier="1.5"
    android:lineSpacingExtra="5dp"/>
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.