LeadingMarginSpan2 - 如何限制带边距的段落数

时间:2014-12-06 17:56:27

标签: android leadingmarginspan2

我使用LeadingMarginSpan2的基本且非常常见的实现来围绕图像包装文本(因为它似乎是最简单的方法,请不要建议我在此使用WebView s点):

  public class MyLeadingMarginSpan2 implements LeadingMarginSpan.LeadingMarginSpan2 {

  private int margin;
  private int lines;

  public MyLeadingMarginSpan2(int lines, int margin) {
    this.margin = margin;
    this.lines = lines;
  }


  @Override
  public int getLeadingMargin(boolean first) {
    return first ? margin : 0; // <--- the issue is here
  }


  @Override
  public void drawLeadingMargin(Canvas c, Paint p, int x, int dir,
                              int top, int baseline, int bottom, CharSequence text,
                              int start, int end, boolean first, Layout layout) {
  }


  @Override
  public int getLeadingMarginLineCount() {
    return lines;
  }
 }

问题在于,只要文本中出现了一个段落,就会给这一行留下不必要的余量。我想限制getLeadingMargin()将实际边距返回到构造函数内传递的行数的次数。

我已经尝试计算这个保证金返回的次数并将其与行数进行比较,但是这不起作用(在大多数情况下没有应用保证金,在某些情况下它应用于错误的数字) ()。

是否有人针对此问题采取了解决方法?

0 个答案:

没有答案
相关问题