想必用过的人都知道,比较好的一点是SpannableString可以精确控制一个长长的字符串中第几个到第几个字符的样式
SpannableString spannableString = new SpannableString("jakjfkajfjaj"); //设置颜色 spannableString.setSpan(new ForegroundColorSpan(Color.parseColor("#FE6026")), 3, 6, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //设置字体大小,true表示前面的字体大小20单位为dip spannableString.setSpan(new AbsoluteSizeSpan(20, true), 0, 5, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //设置链接 spannableString.setSpan(new URLSpan("www.baidu.com"), 0, 5, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //设置字体,BOLD为粗体 spannableString.setSpan(new StyleSpan(android.graphics.Typeface.BOLD), 0, 5, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
SpannableString的优点在于控制得精细,缺点也是在这。我们使用SpannableString的时候必须指定样式使用的字符下标,那如果我们的字符串不是固定长度的呢?
2.使用Html
Html使用格式比较简单,需要用到font标签
String str1=String.format("欢迎来到西说,<font color=\"#550000\">%s", "李先生"); welcome.setText(Html.fromHtml(str1));上面的例子“欢迎来到西说”是默认颜色,“李先生”是font里设置的颜色