富文本相关

需求:
textview 设置超链接 并且可改颜色:

str 直接写链接网址就ok

注意:不要在xml配置android:autoLink属性
SpannableString sp = new SpannableString(str);
//这句很重要,也可以添加自定义正则表达式
Linkify.addLinks(sp,Linkify.ALL);
//主要是获取span的位置
URLSpan[] spans = sp.getSpans(0, str.length(), URLSpan.class);
//这里可以用过循环处理就可以动态实现文本颜色的差别化了
//设置高亮样式一
sp.setSpan(new ForegroundColorSpan(Color.RED), sp.getSpanStart(spans[0]), sp.getSpanEnd(spans[0]), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
//设置高亮样式二
sp.setSpan(new ForegroundColorSpan(Color.YELLOW), sp.getSpanStart(spans[1]), sp.getSpanEnd(spans[1]), Spannable.SPAN_EXCLUSIVE_INCLUSIVE);
//设置斜体
sp.setSpan(new StyleSpan(android.graphics.Typeface.BOLD_ITALIC), 27, 29, Spannable.SPAN_EXCLUSIVE_INCLUSIVE);
//SpannableString对象设置给TextView
textview.setText(sp);
//设置TextView可点击
textview.setMovementMethod(LinkMovementMethod.getInstance());

猜你喜欢

转载自blog.csdn.net/qq_36331942/article/details/79725167