多自动完成textview中的ReplacementSpan重叠

时间:2015-06-10 04:57:47

标签: android android-layout xamarin.android autocompletetextview spannablestring

您好我有多个带有空间标记器的自动完成文本视图,并使用ReplacementSpan在每个联系人中更改背景颜色

我的自定义替换代码是

SpannableStringBuilder ssb = new SpannableStringBuilder(Text.trim());
ssb.SetSpan(new MyForgroudSpan(), x, x + c.Length, SpanTypes.ExclusiveExclusive);

我在这里设置了spannable字符串

canvas.DrawText(text, start, end, xPos, y, paint);

当多个自动完成textview有单行但是它来到多行意味着它重叠每个文本

时,它是正常的

请看屏幕

1.单行

single line image

2.multiline image

Multiline image

当我像这样使用y值时

<a href="<?php echo base_url().'post/'.$post->entry_id.'#comments';?>" class="comments">Comments (<?php echo $post->comment_count;?>)</a> 

lyout like this no vertical space between line

1 个答案:

答案 0 :(得分:0)

如果您只使用ReplacementSpan来更改背景颜色,那么只需使用BackgroundColorSpan:

ssb.SetSpan(
  new BackgroundColorSpan(
    Android.Graphics.Color.ParseColor("#E5E5E6"), 
    x,
    x + c.Length, 
    SpanTypes.ExclusiveExclusive));

出现重叠问题是因为您没有在DrawText方法中使用y值。如果用

替换它
canvas.DrawText(text, start, end, xPos, y, paint);

看起来应该是正确的