1. 程式人生 > >安卓TextView部分字型改變顏色以及背景

安卓TextView部分字型改變顏色以及背景

> 1. 第一種使用SpannableStringBuilder和 BackgroundColorSpan

//首先給賦值顏色
ForegroundColorSpan redSpan = new ForegroundColorSpan(getResources().getColor(R.color.text_red));
ForegroundColorSpan graySpan = new ForegroundColorSpan(getResources().getColor(R.color.text_gray));
mTextView.setText(“灰色紅色”);
//這裡注意一定要先給textview賦值
SpannableStringBuilder builder = new SpannableStringBuilder(mTextView.getText().toString());
//為不同位置字串設定不同顏色
//四個引數分別為,顏色值,起始位置,結束位置,最後的為型別。
builder.setSpan(graySpan, 0, 2, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
builder.setSpan(redSpan, 2, 4, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
//最後為textview賦值
mTextView.setText(builder);

 String str="設定TextView部分字型顏色以及背景顏色!";
        int bstart=str.indexOf("背景");
        int bend=bstart+"背景".length();
        int fstart=str.indexOf("字型顏色");
        int fend=fstart+"字型顏色".length();
        SpannableStringBuilder style=new SpannableStringBuilder(str); 
        style.setSpan(new      BackgroundColorSpan(Color.RED),bstart,bend,Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);   
        style.setSpan(new
ForegroundColorSpan(Color.RED),fstart,fend,Spannable.SPAN_EXCLUSIVE_INCLUSIVE); TextView tvColor=(TextView) findViewById(R.id.tv_color); tvColor.setText(style); 補充: AbsoluteSizeSpan(int size) ---- 設定字型大小,引數是絕對數值,相當於Word中的字型大小 RelativeSizeSpan(float proportion) ---- 設定字型大小,引數是相對於預設字型大小的倍數,比如預設字型大小是x, 那麼設定後的字型大小就是x*proportion,這個用起來比較靈活,proportion>1
就是放大(zoom in), proportion<1就是縮小(zoom out) ScaleXSpan(float proportion) ---- 縮放字型,與上面的類似,預設為1,設定後就是原來的乘以proportion,大於1時放大(zoon in),小於時縮小(zoom out) BackgroundColorSpan(int color) ----背景著色,引數是顏色數值,可以直接使用android.graphics.Color裡面定義的常量,或是用Color.rgb(int, int, int) ForegroundColorSpan(int color) ----前景著色,也就是字的著色,引數與背景著色一致TypefaceSpan(String family) ----字型,引數是字型的名字比如“sans", "sans-serif"等 StyleSpan(Typeface style) -----字型風格,比如粗體,斜體,引數是android.graphics.Typeface裡面定義的常量,如Typeface.BOLD,Typeface.ITALIC等等。StrikethroughSpan----如果設定了此風格,會有一條線從中間穿過所有的字,就像被劃掉一樣

> 1. 第二種使用使用Html.fromHtml()

TextView tv= (TextView)findViewById(R.id.desc1);
String content = "更改部分字型<font color='red'>的字型顏色</font>使用Html<font color='red'>或者SpannableStringBuilder</font>!";
tv.setText(Html.fromHtml(content));

相關推薦

TextView部分字型改變顏色以及背景

> 1. 第一種使用SpannableStringBuilder和 BackgroundColorSpan //首先給賦值顏色 ForegroundColorSpan redSpan = new ForegroundColorSpan(get

textview編輯部分字型顏色

String sr = "你參加的<font color='#FF0000'><small>" + comName + "</small></font>約賽已經退款成功,金額<font color='#FF000

TextView改變部分文字顏色的幾種方式

1. 第一種使用SpannableStringBuilder //部分文字改變顏色 //ForegroundColorSpan 為文字前景色,BackgroundColorSpan為文字背景色

android TextView部分字型顏色設定以及圖文混排

Drawable drawable = context.getResources().getDrawable(R.drawable.icon_wecircle_up); drawable.setBounds(0, 0, drawable.getIntrinsicWidth(), drawable.getInt

Android 神器之SpanableString實現textview部分字型點選事件(不同顏色),並且支援多個點選事件

1.老規矩,咱們先上效果圖: 2.如上圖 標紅的地方,我們一眼看上去 就是一個TextView上面展示出來的(沒錯就是一個TextView展示出來的),並且 部分字型顏色不一樣,而且這個三個協議是可以點選的,點選跳轉到不同頁面,怎麼實現尼 ?,這裡就涉及到一個

Android 關於TextView中,設定指定部分文字改變顏色,和指定部分文字點選事件

參考文章 我想要實現的是如下這樣的效果 首先要想實現文字變色以及點選,都需要使用到SpannableStringBuilder,例項化該類也很簡單,只需將你想要處理的字串當做引數 Span

android TextView 首行縮排與部分文字改變顏色大小效果

TextView 首行偽縮排效果 // 原理, 使用Spannable 把前兩個字設定為透明狀態. 雖然是偽縮排, 但是不會因為解析度的不同而產生各種問題, 注意如果 // TextView設定

之Android.mk多檔案以及動態庫編譯

1、多檔案編譯 多檔案編譯共有兩種方式:   (1) 在Android.mk中一一新增       LOCAL_PATH:= $(call my-dir) #定義當前模組的相對路徑       include $(CLEAR_VARS)      #清空當前環境變數       LOCAL_MO

Bmob資料新增和查詢以及驗證碼

記錄一下利用Bmob對資料的增加和查詢以及驗證碼的索取,記錄以便以後的使用 原始碼點這裡,該demo實現了驗證簡訊以及資料上傳和圖片上傳 1,對於Bmob的基本配置建議百度,別人介紹的比我要好。 2,新建一個Lost類 package com.example.bmob; im

TextView內容過長顯示省略號

背景 經常會遇到文字過長時,需要在結尾顯示省略號,在此總結一下所有的設定方法。 解決方案(按照推薦級別從高到低排列): 寬度採用wrap_content,設定maxEms。注意:maxEms不是任意字元的數量,是相當於對應數量大寫M寬度。如果輸入abc這樣的字元,就

Intent、Bundle的使用以及RecyclerView、ListView的應用

一、實驗題目 Intent、Bundle的使用以及RecyclerView、ListView的應用 二、實現內容 本次實驗模擬實現一個健康食品列表,有兩個介面,第一個介面用於呈現食品列表 如下所示 資料在"manual/素材"目錄下給出。 點選右下方的懸浮按鈕

判斷系統相機授權狀態以及呼叫系統相機

1、在專案中有可能使用到系統的相機,以及根據授權狀態做相應的處理, 2、在一開始我的專案裡面沒有判斷相機的授權狀態,直接就呼叫了系統的相機功能,但是當我拒絕了授權使用相機之後,專案仍然可以呼叫相機並且可以正常使用(如果是自定義開啟相機的話,可能會崩掉),但是考

app開發遇到的問題以及解決方法

1 出現類似問題: [2017-09-07 20:07:22 - DeviceMonitor] Adb connection Error:遠端主機強迫關閉了一個現有的連線。 [2017-09-07 2

Android TextView部分字型變色或字型變大小

A.  SpannableStringBuilder style=new SpannableStringBuilder(str); //SpannableStringBuilder實現CharSequence介面 style.setSpan(new Foreground

swift3 UILabel部分字型顏色,修改行間距

需要注意:make.left.equalToSuperview().offset(15)make.right.equalToSuperview().offset(-15)//不能少的一句upLeftLa

自定義View基礎-顏色

顏色 簡要介紹安卓中的顏色相關內容,包括顏色的定義,建立顏色的幾種方式,以及顏色的混合模式等。 一.簡單介紹顏色 安卓支援的顏色模式: 顏色模式 備註 ARGB8888 四通道高精度(32位) ARGB4444 四

css樣式設定滑鼠選中後字型顏色以及背景顏色

做後臺的要涉及前臺我也是醉了 一個不是那麼眾所周知的技術就是我們可以在瀏覽器里美化被選擇的文字的樣式。Windows自身提供的是一種很難看的墨綠色的顏色,而蘋果電腦上提供的是淺綠色。火狐瀏覽器,IE9,Opera和谷歌瀏覽器允許我們自定義被選擇文字的顏色。讓我來展示給你看

TextView省略號

http://www.jb51.net/article/79656.htm 一、問題: 今天在公司遇到一個需求;TextView設定最多顯示8個字元,超過部分顯示...(省略號) 二、解決方法: 網上找了很多資料,有人說分別設定TextView的android:

TextView文字不滿一行由於英文,標點符號等原因換行

1、 String aaa = “隨便複製一段文字,用於測試,大家自己寫下。有特殊符號,然後標點,英文什麼的。” 2、 轉半形函式,因為實際看起來半形函式比較好看 public static String ToDBC(String input) { char[]

系統新增字型庫和修改系統預設的字型

由於專案需要,需要將第三方提供的.ttf字型檔檔案編譯至系統原始碼中,在百度上找了好久,都沒有找到想要的,最後還是Google解決了問題,這裡作下記錄。 (一)首先說怎麼把字型庫新增到裝置 其實Reference 中介紹的方法,已經非常簡單明瞭,無需贅述,但這裡還是