国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

Spannable, SpannableString、SpannableStringBuilder

2019-11-09 18:29:08
字體:
供稿:網(wǎng)友

一、Spanned and Spannable

1.Spanned

這是一個針對文本的接口,用來標(biāo)記在文本的某些范圍之類,附屬了哪些對象。 public interface Spanned extends CharSequence 該接口是繼承了CharSequence,所以在android平臺可以直接當(dāng)做CharSequence來使用,并且增加了很多特殊的文本處理功能。

2.Spannable

public interface Spannable extends Spanned 該接口繼承自Spanned,包含2個接口方法,和一個工廠類 public void setSpan(Object what, int start, int end, int flags); public void removeSpan(Object what);

該接口定義了一個工廠類,首先想到的是減少與實現(xiàn)類的耦合,提高可維護(hù)性。 轉(zhuǎn)載至http://www.ithao123.cn/content-101951.html

二、SpannableString、SpannableStringBuilder

SpannableString像一個String一樣,而SpannableStringBuilder則更像是StringBuilder。 詳見http://blog.csdn.net/harvic880925/article/details/38984705 這里寫圖片描述

三、SetSpan()

void setSpan (Object what, int start, int end, int flags) 參數(shù)說明:

object what :對應(yīng)的各種Span; int start:開始應(yīng)用指定Span的位置,索引從0開始 int end:結(jié)束應(yīng)用指定Span的位置,特效并不包括這個位置。比如如果這里數(shù)為3(即第4個字符),第4個字符不會有任何特效。 int flags:取值有如下四個 Spannable.SPAN_EXCLUSIVE_EXCLUSIVE:前后都不包括,即在指定范圍的前面和后面插入新字符都不會應(yīng)用新樣式 Spannable.SPAN_EXCLUSIVE_INCLUSIVE :前面不包括,后面包括。即僅在范圍字符的后面插入新字符時會應(yīng)用新樣式 Spannable.SPAN_INCLUSIVE_EXCLUSIVE :前面包括,后面不包括。 Spannable.SPAN_INCLUSIVE_INCLUSIVE :前后都包括。

四、各種Span設(shè)置

要應(yīng)用一個Span總共分三步:

1、構(gòu)造String 2、構(gòu)造Span 3、利用SetSpan()對指定范圍的String應(yīng)用這個Span

舉一個栗子:

//hahahaha你好好你好好SpannableString ss = new SpannableString(mTextView.getText());ForegroundColorSpan foregroundColor = new ForegroundColorSpan(Color.CYAN);ss.setSpan(foregroundColor,3,5, Spanned.SPAN_EXCLUSIVE_INCLUSIVE);mTextView.setText(ss);

效果

這里寫圖片描述

注意:flag的作用是指插入新的字符后,是否跟設(shè)置的樣式一致。

其他:字體背景顏色(BackgroundColorSpan),字體大小(AbsoluteSizeSpan),粗體、斜體(StyleSpan),刪除線(StrikethroughSpan),下劃線(UnderlineSpan),圖片置換(ImageSpan) 轉(zhuǎn)載至 http://blog.csdn.net/harvic880925/article/details/38984705


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 大名县| 仙居县| 桓台县| 托克逊县| 绥滨县| 福贡县| 仪陇县| 临武县| 安丘市| 荥经县| 西乌珠穆沁旗| 鄂托克旗| 新丰县| 芒康县| 合作市| 托里县| 图们市| 通山县| 湾仔区| 聊城市| 鄂伦春自治旗| 江北区| 勃利县| 喜德县| 金山区| 红河县| 邵东县| 东丰县| 宣武区| 韩城市| 闵行区| 长葛市| 成武县| 昔阳县| 宕昌县| 杭锦后旗| 新宁县| 长沙县| 怀柔区| 玛多县| 南宁市|