1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > android TextView超链接设置颜色

android TextView超链接设置颜色

时间:2020-07-19 20:25:51

相关推荐

android TextView超链接设置颜色

因为在做一个项目要对文本解析,找出文本中的url、电话、email、地址、等。用系统默认的autolink autolinktextcolor只能统一设置超链接颜色,不能动态的实现各个Span绘制颜色的不同,因为文本是不固定的,所以Span位置和数量就不能确定,也就不可能预先配置颜色。下面是解决方法,动态设置不同span颜色:

//创建一个 SpannableString对象注意:不要在xml配置android:autoLink属性SpannableString sp =newSpannableString(str);

//这句很重要,也可以添加自定义正则表达式Linkify.addLinks(sp,Linkify.ALL);

//主要是获取span的位置URLSpan[] spans = sp.getSpans(0, str.length(), URLSpan.class);//这里可以用过循环处理就可以动态实现文本颜色的差别化了//设置高亮样式一sp.setSpan(newForegroundColorSpan(Color.RED), sp.getSpanStart(spans[0]), sp.getSpanEnd(spans[0]), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);//设置高亮样式二sp.setSpan(newForegroundColorSpan(Color.YELLOW), sp.getSpanStart(spans[1]), sp.getSpanEnd(spans[1]), Spannable.SPAN_EXCLUSIVE_INCLUSIVE);//设置斜体sp.setSpan(newStyleSpan(android.graphics.Typeface.BOLD_ITALIC), 27, 29, Spannable.SPAN_EXCLUSIVE_INCLUSIVE);//SpannableString对象设置给TextViewtextview.setText(sp);//设置TextView可点击textview.setMovementMethod(LinkMovementMethod.getInstance());

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。