TextView显示两种不同的字体颜色

刚刚学习安卓,今天刚好用到了这块。在网上找到了两种不同的方法,在这里给大家总结一下,,,

第一种方法:使用嵌入html的方式,比较简单直接

text.setText(Html.fromHtml("欢迎购物愉快"));
购物愉快:下划线

第二种方法:Spannable的使用,功能更强大,可以设置字体大小和颜色

String text1 = "哇哇哇哇:";  
String text2 = "地地道道地地道道地地道道"; 
这两句话可以直接写在text中,不需要拼接   
 String text = text1 + text2;   
TextView tvContent = (TextView) findViewById(R.id.tv_content);
Spannable span = new SpannableString(text);
设置字体大小为3430(单位为物理像素),设置字体为黄色和白色,也可以在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);

 

 

 

你可能感兴趣的:(android)