關於SpannableString文字類詳解

2021-07-24 14:36:51 字數 1489 閱讀 6579

textview txtinfo =(textview)findviewbyid(r.id.tv);

//spannablestring

文字類,包含不可變的文字但可以用已有物件替換和分離。

//可變文字類參考spannablestringbuilder

spannablestring ss = new spannablestring

("紅色打**斜體刪除線綠色下劃線:.");  

//用顏色標記文字

ss.setspan(new foregroundcolorspan

(color.red), 0, 2,  

//setspan

時需要指定的 flag,spanned.span_exclusive_exclusive(前後都不包括).

spanned.span_exclusive_exclusive);

//用超連結標記文字

ss.setspan(new urlspan("tel:4155551212"), 2, 5,  

spanned.span_exclusive_exclusive);

//用樣式標記文字(斜體)

ss.setspan(new stylespan(typeface.bold_italic), 5, 7,  

spanned.span_exclusive_exclusive);

//用刪除線標記文字

ss.setspan(new strikethroughspan(), 7, 10,  

spanned.span_exclusive_exclusive);

//用下劃線標記文字

ss.setspan(new underlinespan(), 10, 16,  

spanned.span_exclusive_exclusive);

//用顏色標記

ss.setspan(new foregroundcolorspan(color.green), 10, 13,  

spanned.span_exclusive_exclusive);

//獲取drawable資源

drawable d = getresources().getdrawable(r.drawable.icon);  

d.setbounds(0, 0, d.getintrinsicwidth(), d.getintrinsicheight());

//建立imagespan

imagespan span = new imagespan(d, imagespan.align_baseline);

//用imagespan替換文字

ss.setspan(span, 18, 19, spannable.span_inclusive_exclusive);  

txtinfo.settext(ss);

txtinfo.setmovementmethod(linkmovementmethod.getinstance()); //

實現文字的滾動

關於程式關於世界

首先,在學了1年多的軟體設計的基礎上,問下自己 程式是什麼?業務需求是什麼?程式有什麼用?什麼是演算法?什麼是資料庫?或許每個人的理解不同,會給出不同的答案。那麼自己的理解 程式是乙個讓計算機工作的流程,在程式寫好之後,計算機就會按照,程式設計師定義好流程在執行。其實很多時候,乙個程式的好壞,在於乙...

關於血液關於軟體

1 自然沉降法 將血袋垂直吊掛於4 2 冰箱內,使紅細胞自然下沉1 3d,或將血袋呈70 80 角立於冰箱,需用時,用一次性分漿器分出血漿,制得濃縮紅細胞。2 洗滌法 一般用生理鹽水反覆洗滌3 6次。經洗滌的紅細胞,除白細胞和血小板減少外,血漿蛋白也極少,紅細胞中殘存的血漿蛋白含量約為原總蛋白的1 ...

關於冷漠,關於愛情

我不知道為什麼今天又莫名其妙開始思考愛情這件事,隨之就解決了我一直無法面對冷漠這件事 被冷漠是我始終無法消化的一件事,每當遇見冷漠時,我總會覺得就像一團火把自己燒得面目全非,但對方卻毫無傷害。但我突然懂了,遇到冷漠時,體面的離開即可 在乎你的人一定會在你離開後,找到你跟你解釋為什麼 連解釋都來不及,...