SpannableString的基本用法

2021-08-27 19:19:32 字數 711 閱讀 8878

以前一直好奇qq的輸入框裡面是如何出現表情的,今天看了下這個,心中發出「原來是這樣啊」的感嘆。

通常情況下,我們都是使用字串型別的變數,直接放置在textview.settext()的引數裡面的。這樣只能單純的輸出字串。如果要給textview加上特殊的文字效果,就要使用spannablestring這個類了。

用法如下:

new乙個spannablestring物件,將要顯示的字串作為構造方法的引數傳入。

呼叫spannablestring.setspan(object, int, int, int)方法進行設定。第乙個引數為需要設定的樣式,有很多個類可以選擇,都在這裡啦:

官方文件上面那裡的直接子類和間接子類都是可以用的樣式。

第二引數是開始的位置,0表示第乙個字元

第三個引數是結束的位置

第四個引數是乙個表示替換的位置是否會影響開頭和結尾,誒……我試了下發現沒什麼變化呢……

然後就是把這個spannablestring物件傳給textview.settext()方法的引數就好了。

**如下:

public

class mainactivity extends

activity

class textclickspan extends

clickablespan }}

其實這個感覺就像是那種替換一樣~

SpannableString用法注意

正確的方法 使用absolutesizespan時要每次都new乙個新物件出來,如果定義好乙個,連續使用,則只有最後乙個生效。前面使用的都回失去效果。如下使用 spannablestring spanstring new spannablestring sb.tostring spanstring....

使用SpannableString實現微博內容

一條微博中有五種型別的資料,分別是 我們首先需要使用正規表示式找出這些元素,然後使用spannablestring設定不同的樣式 span 首先建立乙個spannablestring,將文字內容傳進去 spannablestring spannablestring new spannablestri...

關於SpannableString文字類詳解

textview txtinfo textview findviewbyid r.id.tv spannablestring 文字類,包含不可變的文字但可以用已有物件替換和分離。可變文字類參考spannablestringbuilder spannablestring ss new spannabl...