Android TextView padding ระหว่างบรรทัด


217

ฉันมี TextView ซึ่งแสดงข้อความยาว ฉันต้องการให้ช่องว่างระหว่างบรรทัดใน CSS กับคุณสมบัติ line-height ฉันจะทำมันได้อย่างไร

คำตอบ:


408

คุณสามารถใช้lineSpacingExtraและlineSpacingMultiplierในไฟล์ XML ของคุณ


13
lineSpacingMultiplier ใช้ได้กับฉันด้วยค่าทศนิยมเช่น: android: lineSpacingMultiplier = "0.8"
Juan Saravia

7
คุณอธิบายได้ไหมว่ามันทำงานอย่างไร การวัดเหล่านี้มาจากไหน คุณสามารถยกตัวอย่างที่เกี่ยวข้องกับตัวอักษรและภาษาได้หรือไม่? ตัวอย่างเช่นการเว้นวรรคบรรทัดถูกวัดจากพื้นฐาน แต่ภาษาเอเชียตะวันออกไม่มีพื้นฐาน ระยะห่างบรรทัดเริ่มต้นถูกกำหนดไว้ที่ไหน? มันอยู่ในตัวอักษร?
Christopher Perry

ตัวอย่างเช่น: android: lineSpacingExtra = "2dp"
nibbana


73

หากคุณต้องการขยายระหว่างข้อความลอง LineSpacingExtra="10dp"

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

30

คำตอบเพิ่มเติมนี้แสดงผลของการเปลี่ยนระยะห่างบรรทัด

ป้อนคำอธิบายรูปภาพที่นี่

คุณสามารถตั้งค่าตัวคูณและ / หรือระยะห่างพิเศษด้วย

textView.setLineSpacing(float add, float mult)

หรือคุณสามารถรับค่าด้วย

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

สูตรอยู่ที่ไหน

lineHeight = fontMetricsLineHeight * mult + add

ตัวคูณค่าเริ่มต้นคือและระยะห่างพิเศษเริ่มต้นคือ10



14

การเพิ่มandroid:lineSpacingMultiplier="0.8"สามารถทำให้ระยะห่างบรรทัดถึง 80%


5

การแก้ปัญหานั้นง่าย เพียงแค่ใช้ทั้งสองแอตทริบิวต์ในของคุณTextView, lineSpacingExtraและlineSpacingMultiplier

ตัวอย่างเช่น,

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:lineSpacingMultiplier="1.5"
    android:lineSpacingExtra="5dp"/>
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.