Android开发之SpannableString具体解释
? ? ?在實(shí)際的應(yīng)用開(kāi)發(fā)過(guò)程中常常會(huì)遇到。在文本的不同部分顯示一些不同的字體風(fēng)格的信息如:文本的字體、大小、顏色、樣式、以及超級(jí)鏈接等。
普通情況下,TextView中的文本都是一個(gè)樣式。對(duì)于類(lèi)似的情況。能夠借助SpannableString或SpannableStringBuilder對(duì)象來(lái)實(shí)現(xiàn)以上設(shè)置。
SpannableString與SpannableStringBuilder都能夠?qū)⒛扯挝谋驹O(shè)置成一個(gè)Span,在Android中。Span表示一段文本的效果,比如,鏈接形式、圖像、帶背景的文本等。僅僅是不同的是SpannableStringBuilder能夠改動(dòng)文本的內(nèi)容。
磨刀不誤砍柴工,接下來(lái)先讓我們熟悉一下SpannableString類(lèi)。
類(lèi)結(jié)構(gòu):
extends?Object
implements?GetChars?Spannable?CharSequence
| java.lang.Object | |
| ???? | android.text.SpannableString |
類(lèi)概述:
這類(lèi)文本的內(nèi)容是不變的。但標(biāo)記對(duì)象能夠被附加和分離。可變的文本,請(qǐng)參閱SpannableStringBuilder。
構(gòu)造方法:
| Public Constructors | |
| ? | SpannableString(CharSequence?source) |
?
經(jīng)常使用公有方法:
| Public Methods | |
| final char | charAt(int i) 返回指定索引位置的字符,第一個(gè)字符的索引為0。
|
| boolean | equals(Object?o) Compares this instance with the specified object and indicates if they are equal. 比較這個(gè)實(shí)例與指定的對(duì)象,假設(shè)相等則返回true。
|
| final void | getChars(int start, int end, char[] dest, int off) 和String.getChars()方法相似:從指定字符數(shù)組中復(fù)制字符。start?開(kāi)始位置,end結(jié)束位置。off偏移量。 |
| int | getSpanEnd(Object?what) 獲取what對(duì)象在SpannableString對(duì)象中的結(jié)束位置。 假設(shè)沒(méi)有匹配返回-1。 |
| int | getSpanStart(Object?what) 獲取what對(duì)象在SpannableString對(duì)象中的開(kāi)始位置。 假設(shè)沒(méi)有匹配返回-1。 |
| final int | length() 返回此序列中的字符數(shù)。
|
| void | removeSpan(Object?what) 從文本的范圍中刪除指定的對(duì)象。 |
| void | setSpan(Object?what, int start, int end, int flags) 設(shè)置一個(gè)Span對(duì)象。
what |
說(shuō)明:
void?setSpan(Object?what, int start, int end, int flags)
設(shè)置一個(gè)Span對(duì)象。當(dāng)中第一個(gè)參數(shù)what:表示一段文本的效果,它能夠接受例如以下屬性:
| 屬性名 | 說(shuō)明 |
| BackgroundColorSpan | 背景色 |
| ClickableSpan | 文本可點(diǎn)擊,有點(diǎn)擊事件 |
| ForegroundColorSpan | 文本顏色(前景色) |
| MaskFilterSpan | 修飾效果,如模糊(BlurMaskFilter)浮雕(EmbossMaskFilter) |
| MetricAffectingSpan | 父類(lèi),一般不用 |
| RasterizerSpan | 光柵效果 |
| StrikethroughSpan | 刪除線(xiàn)(中劃線(xiàn)) |
| SuggestionSpan | 相當(dāng)于占位符 |
| UnderlineSpan | 下劃線(xiàn) |
| AbsoluteSizeSpan | 絕對(duì)大小(文本字體) |
| DynamicDrawableSpan | 設(shè)置圖片,基于文本基線(xiàn)或底部對(duì)齊。
|
| ImageSpan | 圖片 |
| RelativeSizeSpan | 相對(duì)大小(文本字體) |
| ReplacementSpan | 父類(lèi)。一般不用 |
| ScaleXSpan | 基于x軸縮放 |
| StyleSpan | 字體樣式:粗體、斜體等 |
| SubscriptSpan | 下標(biāo)(數(shù)學(xué)公式會(huì)用到) |
| SuperscriptSpan | 上標(biāo)(數(shù)學(xué)公式會(huì)用到) |
| TextAppearanceSpan | 文本外貌(包含字體、大小、樣式和顏色) |
| TypefaceSpan | 文本字體 |
| URLSpan | 文本超鏈接 |
第二個(gè)和第三個(gè)參數(shù)分別表示文本中要設(shè)置成Span的某段文本的起始位置和終止位置的下一個(gè)字符的位置。也就是start和end。最后一個(gè)參數(shù)(flags)是一個(gè)標(biāo)志。還能夠設(shè)置例如以下幾個(gè)類(lèi)似的值:
Spanned.SPAN_EXCLUSIVE_INCLUSIVE:在 Span前面輸入的字符不應(yīng)用 Span的效果,在后面輸入的字符應(yīng)用Span效果。
Spanned.SPAN_INCLUSIVE_EXCLUSIVE:在 Span前面輸入的字符應(yīng)用 Span 的效果。在后面輸入的字符不應(yīng)用Span效果。
Spanned.SPAN_INCUJSIVE_INCLUSIVE:在 Span前后輸入的字符都應(yīng)用 Span 的效果。
應(yīng)用實(shí)例:
因?yàn)槠拗脐P(guān)于SpannableString的應(yīng)用實(shí)例可參考:Android開(kāi)發(fā)之TextView高級(jí)應(yīng)用在此就不再贅述了。
總結(jié)
以上是生活随笔為你收集整理的Android开发之SpannableString具体解释的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: MySQL数据库存储过程动态表建立(PR
- 下一篇: 列举当前用户或指定用户的所有表,所有字段