欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

Android TextView设置不同的颜色字体

程序员文章站 2024-02-26 10:58:10
这里记录一个比较方便的方式来解决textview设置不同颜色的字体的方法。可能第一反应是布局的嵌套,这个方法肯定可以啊,但是肯定不推荐啊,布局要尽量减少布局的嵌套,其次,使...

这里记录一个比较方便的方式来解决textview设置不同颜色的字体的方法。可能第一反应是布局的嵌套,这个方法肯定可以啊,但是肯定不推荐啊,布局要尽量减少布局的嵌套,其次,使用自定义控件,u got it,不过确实有种小题大做的感觉,然后就是使用textview解析html,这个是个思路,可以实现。最后想到用spannablestringbuilder,比较方便啊。确实。。。

Android TextView设置不同的颜色字体

1、代码很简单(具体的样式自己拓展吧):

//textview
textview tvlatestdis= (textview) findviewbyid(r.id.tv_latestdis);
string str = "上次里程:23023km";
spannablestringbuilder mspannable = new spannablestringbuilder(str);
//mspannable.setspan(new foregroundcolorspan(color.black), 0, 4, spanned.span_exclusive_inclusive);
 mspannable.setspan(new foregroundcolorspan(color.green), 5, str.length(), spanned.span_exclusive_inclusive);
  tvlatestdis.settext(mspannable);

2、tv.settext(html.fromhtml(text))解析html

public viewholder settextfromhtml(int id, string text) {
  textview tv = getview(id);
  tv.settext(html.fromhtml(text));
  return this;
 }

 public viewholder settextfromhtmlwithimg(int id, string text,
   string strimage, imagegetter ig) {
  textview tv = getview(id);
  tv.settext(html.fromhtml(strimage, ig, null));
  tv.append(html.fromhtml(text));
  return this;
 }

总结:就是这么任性,简单,随意。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。