我想将多个跨度添加到具有可配置行空间的文本视图中。我使用 android 中定义的 LineHeightSpan 类。但似乎它在 Android M 和更低版本中的行为有所不同 这里是较低版本的 Android 的结果
这是我在代码中的实现方式: 这是我对 LineHeightSpan 的实现:
public class VerticalMarginSpan implements LineHeightSpan {
private final int value;
public VerticalMarginSpan(int value) {
this.value = value;
}
@Override
public void chooseHeight(CharSequence text, int start, int end, int spanstartv, int v,
Paint.FontMetricsInt fm) {
fm.ascent -= value / 2;
fm.descent += (value / 2);
}
}
以及我如何使用它:
SpannableStringBuilder builder = new SpannableStringBuilder(tempStr);
builder.setSpan(
new VerticalMarginSpan(lineSpace),
0,
tempStr.length(),
Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
txt.setText(builder);
我该如何解决这个问题?