今天我要玩TextView,那么TextView有啥好玩的呢?不就是一個渣渣基礎(chǔ)控件么,setText搞定。But,作為開發(fā)一定遇到過一種情況,UI給了你一張圖,上面有一行字,但是MMP的文字的顏色不一樣。寫兩個Textview放上去?太慢了。So.
自己食用
SpannableString
這家伙和String差不多,可以用textview.setText(spannableString),這玩意有啥用呢,淡然是實現(xiàn)酷炫的效果啦。
setSpan
上面那個家伙的一個方法,有四個入?yún)?/p>
一.Object what 酷炫的樣式
二. int start 酷炫樣式的起始位置
三. int end 酷炫樣式的結(jié)束位置
四.int flags 恩...就是立一個flag,有四種屬性
- Spanned.SPAN_INCLUSIVE_EXCLUSIVE 從起始下標(biāo)到終了下標(biāo),包括起始下標(biāo)
- Spanned.SPAN_INCLUSIVE_INCLUSIVE 從起始下標(biāo)到終了下標(biāo),同時包括起始下標(biāo)和終了下標(biāo)
- Spanned.SPAN_EXCLUSIVE_EXCLUSIVE 從起始下標(biāo)到終了下標(biāo),但都不包括起始下標(biāo)和終了下標(biāo)
- Spanned.SPAN_EXCLUSIVE_INCLUSIVE 從起始下標(biāo)到終了下標(biāo),包括終了下標(biāo)
特效DuangDuangDuang
- ForegroundColorSpan 改變文字顏色
SpannableString spannableString = new SpannableString("我可是要成為海賊王的男人");
ForegroundColorSpan colorSpan = new ForegroundColorSpan(Color.parseColor("#333333"));
spannableString.setSpan(colorSpan, 6, spannableString.length(), Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
textView.setText(spannableString);
- BackgroundColorSpan 背景色,用法同上
- RelativeSizeSpan 文字大小
- StrikethroughSpan
刪除線 - UnderlineSpan 下劃線
- SuperscriptSpan 上標(biāo)?°
- SubscriptSpan 下標(biāo)
- StyleSpan 文字變粗Typeface.BOLD,變斜Typeface.ITALIC
- ImageSpan 文本圖片??
- ClickableSpan 點(diǎn)擊事件
- URLSpan 超鏈接點(diǎn)擊事件
- SpannableStringBuilder 可以拼接SpannableString
Over. 想再看一遍鋼煉。

你等著啊!