我有一个显示长文本的TextView。我想在行之间留出一些空间,就像CSS中的line-height属性一样。我该怎么做呢?


当前回答

这个补充答案显示了改变行间距的效果。

您可以设置乘数和/或额外的间距

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

默认的乘数是1,默认的额外间距是0。

其他回答

如果你想在文本之间填充,试试LineSpacingExtra="10sp"

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

你可以使用textview . setlinespcing (n,m)函数。

这个补充答案显示了改变行间距的效果。

您可以设置乘数和/或额外的间距

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

默认的乘数是1,默认的额外间距是0。

你可以用2磅


1. lineSpacingExtra: 它用于dp间距

android:lineSpacingExtra="4dp"

2. lineSpacingMultiplie: 它用于相对规模

android:lineSpacingMultiplier="0.8"

截至2021年11月16日, 我使用这条线来增加行间距的高度:

android:lineHeight="25dp"

对我来说,其他答案没有帮助,因为可能他们更新了属性,在这个版本中有很多东西发生了变化。