轉自:http://blog.csdn.net/singwhatiwanna/article/details/18363899
方法:
1、 字體顏色可以採用font,也可以使用ColorSpan
2、 字體大小可以使用<big>、<small>和 <h1>到<h6>的標籤,還可以採用SizeSpan
3、 Spannable功能比較全面,調用setSpan即可爲TextView設置美麗的特效,其支持的特效在CharacterStyle中定義,有好多種,比如AbsoluteSizeSpan、ForegroundColorSpan以及BackgroundColorSpan等,具體大家可以根據需要查看,下面是CharacterStyle的類繼承關係圖:
java.lang.Object | |
↳ | android.text.style.CharacterStyle |
Known Direct Subclasses |
Known Indirect Subclasses |
效果圖
上面效果的代碼
說明:上述代碼分別用不同方式實現了類似的效果,通過對比,我們應該可以理解各種方法的不同,想寫出更多效果Spannable是必須的,因爲font支持的屬性很有限,比如說font不支持size屬性,所以請多多瞭解Spannable。也許有時候我們想把文本加到xml裏面,這也是可以的,只不過有一點我們需要注意,那就是要對<、>、'、"這四個字符進行轉換,因爲它們四個是HTML的標籤。具體來說,左括號<要用<代替,右括號>要用>代替,單引號和雙引號要用\進行轉義。這裏給出一個示例,其效果和上面代碼中的效果是一致的:<string name="text">北京市發佈霾黃色預警,<font color=\'#ff0000\'><big><big>外出攜帶好&lt;/big></big></font>口罩</string>,另外,你必須顯式地調用textView.setText(Html.fromHtml(getString(R.string.text)))來使其生效。