我使用 setLineSpacing(( 来增加 textView 中行之间的间距,当我使用 Pixel API 25 模拟器测试它时似乎没问题,但是当我使用 Nexus 6p API 23 测试它时,它很好,直到出现新行 ((。然后,行之间的空间被重置。这就像 setLineBpacing 只影响文本的一部分(第一段(。为什么会这样?
if (android.os.Build.VERSION.SDK_INT >= 23) {
textView.setLineSpacing(textView.getLineHeight(), 0.6f);
}
更新:我有点发现了问题,但到目前为止还没有解决方案。我使用 span 使文本中的第一个字母视图更大。
wordtoSpan.setSpan(new RelativeSizeSpan(2f), 2, 3, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
实际上,setLineSpacing 方法确实增加了整个文本视图的行距,但是由于 setSpan 使第一个字母变大,直到""的第一行有一个额外的行距。它只发生在像 23 tho 这样的旧 API 中。
经过几次测试,我发现这个问题只发生在 API 23 中。所以我得出结论,这个错误只存在于这个 API 级别。文本视图在 API 21、22、24、25、26 和 27 上看起来不错。