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