刚刚学习安卓,今天刚好用到了这块。在网上找到了两种不同的方法,在这里给大家总结一下,,,
第一种方法:使用嵌入html的方式,比较简单直接
text.setText(Html.fromHtml("<font color=\'#858585\'>欢迎</font><font color=\'#f02387\'><U>购物愉快</U></font>"));
<U>购物愉快</U>:下划线
第二种方法:Spannable的使用,功能更强大,可以设置字体大小和颜色
String text1 = "哇哇哇哇:";
String text2 = "地地道道地地道道地地道道";
这两句话可以直接写在text中,不需要拼接
String text = text1 + text2;
TextView tvContent = (TextView) findViewById(R.id.tv_content);
Spannable span = new SpannableString(text);
设置字体大小为34和30(单位为物理像素),设置字体为黄色和白色,也可以在colors.xml中引入索引从0~5设置字体的大小为34
Spannable.SPAN_EXCLUSIVE_EXCLUSIVE代表要设置的大小为具体的数值类型
span.setSpan(new AbsoluteSizeSpan(34),0,5,Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
索引从5~到最后 设置字体大小为span.setSpan(new AbsoluteSizeSpan(30),5,text.length(),Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
span.setSpan(new ForegroundColorSpan(Color.YELLOW), 0,5, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
span.setSpan(new ForegroundColorSpan(Color.WHITE), 5, text.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
tvContent.setText(span);