編輯:關於Android編程
Spannable 對文字的編輯減少TextView的拼接並且達到改變一串字符中的部分文字的字體顏色,背景顏色,字體大小,樣式 增加文字的超鏈接。
如 把部分字體改成紅色:
SpannableString amountS=new SpannableString(amount);
amountS.setSpan(new ForegroundColorSpan(Color.RED), amount.indexOf(orderInfo.PayMoney+""), amount.indexOf("元")+1, Spannable.SPAN_EXCLUSIVE_INCLUSIVE);
具體主要介紹setSpan()中的what和flags參數:
setSpan(Object what, int start, int end, int flags)
1.Object what主要是對文字的一些屬性的設置,大小,顏色,已經文字的背景顏色:
BackgroundColorSpan, ClickableSpan, ForegroundColorSpan, MaskFilterSpan, MetricAffectingSpan,
RasterizerSpan, StrikethroughSpan, SuggestionSpan, UnderlineSpan
詳細說明:
BackgroundColorSpan:背景顏色
ClickableSpan 設置可點擊的部分文字
ForegroundColorSpan 改變文字字體的顏色
MaskFilterSpan(MaskFilter filter) 修飾效果,如模糊(BlurMaskFilter)、浮雕(EmbossMaskFilter)
MetricAffectingSpan
直接子類: AbsoluteSizeSpan, LocaleSpan, RelativeSizeSpan, ReplacementSpan, ScaleXSpan, StyleSpan, SubscriptSpan, SuperscriptSpan, TextAppearanceSpan, TypefaceSpan
間接子類: DynamicDrawableSpan, ImageSpan
RasterizerSpan 光柵效果
StrikethroughSpan 中劃線 (刪除線)
SuggestionSpan 占位符
UnderlineSpan 下劃線
ImageSpan 圖片包裹,可以在一段文字中添加一個圖片
SubscriptSpan 下標- 數學公式 用到
SuperscriptSpan 上標-數學公式會用到
ScaleXSpan(3.8f) 基於x軸的縮放
StyleSpan(Typeface.BOLD_ITALIC)字體樣式:粗體、斜體等
TextAppearanceSpan(this, android.R.style.TextAppearance_Medium) 文本外貌(包括字體、大小、樣式和顏色)
TypefaceSpan("monospace")文本字體
URLSpan("http://orgcent.com") 文本超鏈接
2.flags:對一段文字設置一些標識
如: Spannable.SPAN_EXCLUSIVE_INCLUSIVE
SPAN_COMPOSING:臨時申請流行的一個輸入法的構成的文本信息 標示:該段文字可以被刪除或者替換
SPAN_EXCLUSIVE_EXCLUSIVE:包括內容不會擴大,只會包含起點和終點,長度絕對不能為0,如果被刪除的所有它們涵蓋文字也會自動從緩沖區中刪除。
SPAN_EXCLUSIVE_INCLUSIVE:可以擴大的跨度,非0,包括文字插入他們的終點,而不是在他們的出發點,如果為0的時候就像一個點。
SPAN_INCLUSIVE_EXCLUSIVE:可以擴大的跨度,非0,包括文字插入他們的出發點,而不是在他們的終點,如果為0的時候就像一個點
SPAN_INCLUSIVE_INCLUSIVE:跨度類型的擴大包括文本插入他們的起點或終點。
SPAN_INTERMEDIATE:標志將被設置為中間跨度的變化,這意味著有保證是另一個變化。通常情況下,它是用於選擇自動使用與第一偏移量被更新時選擇設置
SPAN_MARK_MARK:像文本標記長度為0的跨度與SPAN_MARK_MARK型:他們仍然在原來的偏移該偏移處插入文本時
SPAN_MARK_POINT:SPAN_MARK_POINT==SPAN_INCLUSIVE_INCLUSIVE
SPAN_PARAGRAPH :必須是它的端點的緩沖區或後立即\ n字符的開始或結束,而如果它被刪除,錨,端點被拉到下一個的\ n \ñ如下中的緩沖區(或結束緩沖區)。 即以換行符為起始點和終點
SPAN_POINT_MARK:SPAN_POINT_MARK==SPAN_EXCLUSIVE_EXCLUSIVE。
SPAN_POINT_MARK_MASK:
SPAN_POINT_POINT:長度為0的跨度型SPAN_POINT_POINT像游標:它們被插入文本被插入時,在其偏移的長度推進。在概念上的文字插入點之前
SPAN_PRIORITY:指定由SPAN_PRIORITY位圖確定的順序變更通知 - 較高的數字先走。你可能並不需要設置的,通常使用在當文本變化的時候,能有機會更新數據,在其他回調的方法裡面進行處理之前
SPAN_PRIORITY_SHIFT:確定的順序變更通知 - 較高的數字先走。你可能並不需要設置的,通常使用在當文本變化的時候,能有機會更新數據 在其他回調的方法裡面進行處理之前
SPAN_USER:指定由SPAN_USER位域是呼叫者使用存儲相關的標量數據與他們的跨度對象
SPAN_USER_SHIFT:位編號SPAN_USER_SHIFT的,可用於呼叫者使用存儲相關的標量數據與他們的跨度對象
該篇文章是一個ListFragment的一個實例,通過了解該實例,更能了解比較常用的ListFragment的用法,以及各Fragment之間的數據傳遞。 實現效果圖:
Android程序的基本組件有4個,分別為:Activity,BroadcastReceiver,ContentProvider和Service。Activity(活動窗
打開/dev/graphics/fb0節點的過程:打開/dev/graphics/fb0這個設備的調用過程如下:1.在HWComposer中,加載moduleHWComp
今天被同時問到java/android 使用swig編譯c/c++ 代碼類型轉換。想起找個中文版swig看一下,雖然找到了,但也是基本是英文。中文版首頁的:http://