1. 程式人生 > >TextView顯示兩種不同的字型顏色

TextView顯示兩種不同的字型顏色

剛剛學習安卓,今天剛好用到了這塊。在網上找到了兩種不同的方法,在這裡給大家總結一下,,,

第一種方法:使用嵌入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);
設定字型大小為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);