在TextView中使用SpannableStringBuilder的段落间距



正如问题所示,我正在开发一个TextView,它将使用SpannableStringBuilder显示格式化文本。它有多个段落,我想知道使用内置跨度设置段落间距的最简单(或至少最不复杂)方法是什么。这可能吗?还是需要我为此构建一个自定义跨度类?

实现LineHeightSpan并覆盖chooseHeight方法,如下所示

@Override
public void chooseHeight(CharSequence text, int start, int end,
        int spanstartv, int v, FontMetricsInt fm) {
    Spanned spanned = (Spanned) text;
    int st = spanned.getSpanStart(this);
    int en = spanned.getSpanEnd(this);
    if (start == st) {
        fm.ascent -= TOP_SPACING;
        fm.top -= TOP_SPACING;
    }
    if (end == en) {
        fm.descent += BOTTOM_SPACING;
        fm.bottom += BOTTOM_SPACING;
    }
}

不要忘记在每段文字的末尾添加n

相关内容

  • 没有找到相关文章

最新更新