0

我使用 setLineSpacing() 来增加 textView 中的行间距,当我使用 Pixel API 25 模拟器对其进行测试时似乎还可以,但是当我使用 Nexus 6p API 23 对其进行测试时,直到换行(\n)都很好发生。然后在那之后,行之间的空间被重置。就像 setLineSpacing 只影响文本的一部分(第一段)。为什么会这样?

if (android.os.Build.VERSION.SDK_INT >= 23) {
        textView.setLineSpacing(textView.getLineHeight(), 0.6f);
}

更新:我有点发现了问题,但到目前为止还没有解决方案。我使用 span 使 textView 中的第一个字母更大。

wordtoSpan.setSpan(new RelativeSizeSpan(2f), 2, 3, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);

实际上,setLineSpacing 方法确实增加了整个文本视图的行距,但由于 setSpan 使第一个字母变大,所以直到“\n”的第一行有一个额外的行距。它只发生在像 23 tho 这样的旧 API 中。

4

1 回答 1

0

经过几次测试,我发现这个问题只发生在 API 23 中。所以我得出结论,这个 bug 只存在于这个 API 级别。文本视图在 API 21、22、24、25、26 和 27 上看起来不错。

于 2018-01-17T23:30:39.973 回答