我正在使用自定义类(扩展可点击范围)来链接文本视图中的所有标记并突出显示它们。
我使用以下代码设置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)是这样的:
我希望主题词跨度突出显示如下:
将动态分配背景颜色。我怎样才能达到预期的效果?
编辑1: 这必须在listview或recycler视图中使用。因此,性能也是一个参数。