日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android开发之SpannableString具体解释

發布時間:2025/5/22 Android 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android开发之SpannableString具体解释 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

? ? ?在實際的應用開發過程中常常會遇到。在文本的不同部分顯示一些不同的字體風格的信息如:文本的字體、大小、顏色、樣式、以及超級鏈接等。

普通情況下,TextView中的文本都是一個樣式。對于類似的情況。能夠借助SpannableStringSpannableStringBuilder對象來實現以上設置。

SpannableStringSpannableStringBuilder都能夠將某段文本設置成一個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的某段文本的起始位置和終止位置的下一個字符的位置。也就是startend。最后一個參數(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具体解释的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。