Preenchimento do Android TextView entre linhas


217

Eu tenho um TextView que exibe um texto longo. Eu quero dar algum espaço entre as linhas, como no CSS, com a propriedade line-height. Como eu posso fazer isso?

Respostas:


407

Você pode usar lineSpacingExtrae lineSpacingMultiplierno seu arquivo XML.


13
obras lineSpacingMultiplier para mim com valores flutuar como: android: lineSpacingMultiplier = "0.8"
Juan Saravia

7
Você pode explicar como isso funciona? De onde são tiradas essas medições? Você pode dar exemplos em relação à fonte e também ao idioma? Por exemplo, o espaçamento entre linhas é medido a partir da linha de base, mas o idioma do Leste Asiático não tem linha de base. Onde é definido o espaçamento de linha padrão? Está na própria fonte?
Christopher Perry

Por exemplo: android: lineSpacingExtra = "2dp"
nibbana


73

Se você quiser preenchimento entre texto, tente LineSpacingExtra="10dp"

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

29

Esta resposta suplementar mostra o efeito de alterar o espaçamento entre linhas.

insira a descrição da imagem aqui

Você pode definir o multiplicador e / ou espaçamento extra com

textView.setLineSpacing(float add, float mult)

Ou você pode obter os valores com

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

onde a fórmula é

lineHeight = fontMetricsLineHeight * mult + add

O multiplicador padrão é 1e o espaçamento extra padrão é 0.



14

A adição android:lineSpacingMultiplier="0.8"pode aumentar o espaçamento entre linhas em 80%.


4

A solução é simples. Basta usar estes dois atributos no seu TextView, lineSpacingExtraelineSpacingMultiplier

Por exemplo,

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:lineSpacingMultiplier="1.5"
    android:lineSpacingExtra="5dp"/>
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.