Android TextView wypełnienie między liniami

217

Mam TextView, który wyświetla długi tekst. Chcę dać trochę miejsca między liniami, jak w CSS z właściwością line-height. Jak mogę to zrobić?

Çağatay Gürtürk
źródło

Odpowiedzi:

408

Możesz użyć lineSpacingExtraiw lineSpacingMultiplierswoim pliku XML.

Romain Guy
źródło
13
lineSpacingMultiplier działa dla mnie z wartościami zmiennoprzecinkowymi, takimi jak: android: lineSpacingMultiplier = "0.8"
Juan Saravia
7
Czy możesz wyjaśnić, jak one działają? Skąd pochodzą te pomiary? Czy możesz podać przykłady związane z czcionką i językiem? Na przykład odstępy między wierszami są mierzone od linii podstawowej, ale język Azji Wschodniej nie ma linii bazowej. Gdzie jest zdefiniowane domyślne odstępy między wierszami? Czy jest w samej czcionce?
Christopher Perry
Na przykład: android: lineSpacingExtra = "2dp"
nibbana
73

Jeśli chcesz wstawiać między tekstem, spróbuj LineSpacingExtra="10dp"

<TextView
        android:layout_width="match_parent"
        android:layout_height="180dp"
        android:lineSpacingExtra="10dp"/>
chanu panwar
źródło
30

Ta uzupełniająca odpowiedź pokazuje efekt zmiany odstępów między wierszami.

wprowadź opis zdjęcia tutaj

Możesz ustawić mnożnik i / lub dodatkowe odstępy za pomocą

textView.setLineSpacing(float add, float mult)

Lub możesz uzyskać wartości za pomocą

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

gdzie jest formuła

lineHeight = fontMetricsLineHeight * mult + add

Domyślny mnożnik to, 1a domyślny dodatkowy odstęp to 0.

Suragch
źródło
17

Możesz użyć TextView.setLineSpacing(n,m)funkcji.

Vishnu Haridas
źródło
14

Dodanie android:lineSpacingMultiplier="0.8"może zwiększyć odstępy między wierszami do 80%.

Ajitsen
źródło
5

Rozwiązanie jest proste. Wystarczy użyć tych dwóch atrybutów w twojej TextView, lineSpacingExtrailineSpacingMultiplier

Na przykład,

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:lineSpacingMultiplier="1.5"
    android:lineSpacingExtra="5dp"/>
Pouria Hemati
źródło