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ć?

Odpowiedzi:


408

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


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"/>

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.



14

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


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"/>
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.