Android TextView melapisi antar garis

217

Saya memiliki TextView yang menampilkan teks panjang. Saya ingin memberikan ruang antara garis seperti di CSS dengan properti garis-tinggi. Bagaimana saya bisa melakukannya?

Çağatay Gürtürk
sumber

Jawaban:

407

Anda dapat menggunakan lineSpacingExtradan lineSpacingMultiplierdalam file XML Anda.

Guy Romain
sumber
13
lineSpacingMultiplier berfungsi untuk saya dengan nilai float seperti: android: lineSpacingMultiplier = "0.8"
Juan Saravia
7
Bisakah Anda menjelaskan bagaimana cara kerjanya? Dari mana pengukuran ini diambil? Bisakah Anda memberikan contoh terkait dengan font dan juga bahasa? Misalnya, spasi garis diukur dari garis dasar, tetapi bahasa Asia Timur tidak memiliki garis dasar. Di mana penspasian garis default ditentukan? Apakah itu dalam fonta itu sendiri?
Christopher Perry
Sebagai contoh: android: lineSpacingExtra = "2dp"
nibbana
73

Jika Anda ingin mengisi antar teks, coba LineSpacingExtra="10dp"

<TextView
        android:layout_width="match_parent"
        android:layout_height="180dp"
        android:lineSpacingExtra="10dp"/>
chanu panwar
sumber
29

Jawaban tambahan ini menunjukkan efek mengubah spasi baris.

masukkan deskripsi gambar di sini

Anda dapat mengatur pengganda dan / atau spasi tambahan dengan

textView.setLineSpacing(float add, float mult)

Atau Anda bisa mendapatkan nilainya

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

dimana rumusnya

lineHeight = fontMetricsLineHeight * mult + add

Pengganda default adalah 1dan jarak tambahan default adalah 0.

Suragch
sumber
17

Anda dapat menggunakan TextView.setLineSpacing(n,m)fungsi.

Wisnu Haridas
sumber
14

Menambahkan android:lineSpacingMultiplier="0.8"dapat membuat penspasian garis menjadi 80%.

Ajitsen
sumber
4

Solusinya sederhana. Cukup gunakan dua atribut ini di Anda TextView, lineSpacingExtradanlineSpacingMultiplier

Sebagai contoh,

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:lineSpacingMultiplier="1.5"
    android:lineSpacingExtra="5dp"/>
Pouria Hemati
sumber