Android - 在TextView中设置可点击范围的背景

时间:2015-10-16 14:39:27

标签: android textview spannablestring spannable

我正在使用自定义类(扩展可点击范围)来链接文本视图中的所有标记并突出显示它们。

我使用以下代码设置span:

   SpannableString commentsContent = new SpannableString(message);
         .....Some code ....
    commentsContent.setSpan(new StringUtils.Hashtag(context),
                hashTagStart,
                hashTagEnd, 0);

Hashtag Class看起来像这样:

  public static class Hashtag extends ClickableSpan{
    Context context;
    TextPaint textPaint;
    public Hashtag(Context ctx) {
        super();
        context = ctx;
    }

    @Override
    public void updateDrawState(TextPaint ds) {

        Typeface tf = Typeface.create(("fonts/Lato-Regular.ttf"),Typeface.NORMAL);
        ds.setTextSize(30); //TODO: Text size
        ds.setColor(R.color.primary_dark);
        ds.setAntiAlias(true);
        ds.setTypeface(tf);
    }

    @Override
    public void onClick(View widget) {
        //Do something on click
    }

输出(中心的textview)是这样的:

Current output

我希望主题词跨度突出显示如下:

Desired look

将动态分配背景颜色。我怎样才能达到预期的效果?

编辑1: 这必须在listview或recycler视图中使用。因此,性能也是一个参数。

0 个答案:

没有答案