Android中TextView實現(xiàn)分段顯示不同顏色的字符串
關(guān)于TextView
TextView是Android開發(fā)中最最常見的控件之一,在API記錄的屬性有很多,但實際開發(fā)中,也遇到很多有趣的需求,值得去嘗試,所以記錄下來,既可以給大家提供參考,同時自己需要時候也方便查找.
最近開發(fā)過程中有個小小的知識點,就是TextView顯示的內(nèi)容需要分段顯示不同的顏色,如下圖所示
一般有三種實現(xiàn)方式
- 直接根據(jù)不同的需要分段字符串,然后分別使用多個TextView來顯示
- 使用spannablestring
- 使用Html
下面分別來簡單介紹下三種方法
多個TextVew
- 這種方式簡單粗暴,顏色樣式控制靈活
- 如果需要顯示的文本需要分多個段的話,那就需要很多個TextView,而且布局不好控制
- 實現(xiàn)方式簡單,就不寫例子了
使用SpannableString
想必用過的人都知道,比較好的一點是SpannableString可以精確控制一個長長的字符串中第幾個到第幾個字符的樣式
SpannableString spannableString = new SpannableString("jakjfkajfjaj"); //設(shè)置顏色 spannableString.setSpan(new ForegroundColorSpan(Color.parseColor("#FE6026")), 3, 6, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //設(shè)置字體大小,true表示前面的字體大小20單位為dip spannableString.setSpan(new AbsoluteSizeSpan(20, true), 0, 5, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //設(shè)置鏈接 spannableString.setSpan(new URLSpan("www.baidu.com"), 0, 5, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //設(shè)置字體,BOLD為粗體 spannableString.setSpan(new StyleSpan(android.graphics.Typeface.BOLD), 0, 5, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
以上只是列舉了幾個常見的用法,更多的可以參考android.text.style包下面的幾個類
不知道大家看出上面的SpannableString的局限了沒有,沒錯,SpannableString的優(yōu)點在于控制得精細(xì),缺點也是在這。我們使用SpannableString的時候必須指定樣式使用的字符下標(biāo),那如果我們的字符串不是固定長度的呢?
使用Html
如果使用場景是字符串長度不固定的,比如需要服務(wù)端的數(shù)據(jù)來填充的
"首付:" + data1 + "月供:" + data2
服務(wù)端返回的數(shù)據(jù)長度不固定的話,用SpannableString就尷尬了,這時候可以考慮用Html
Html使用格式比較簡單,需要用到font標(biāo)簽,具體的話看下面的例子
//首先是拼接字符串 String content = "<font color=\"#FE6026\">" + data + "</font>" //然后直接setText() TextView tvContent = (TextView) view.findViewById(R.id.tvContent); tvContent.setText(Html.fromHtml(content));
以上就是TextView分段顯示不同樣式字符串的方法,希望對大家有用
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。
- android TextView設(shè)置中文字體加粗實現(xiàn)方法
- Android TextView設(shè)置背景色與邊框的方法詳解
- Android編程開發(fā)之TextView文字顯示和修改方法(附TextView屬性介紹)
- Android TextView字體顏色設(shè)置方法小結(jié)
- android實現(xiàn)上下滾動的TextView
- android TextView多行文本(超過3行)使用ellipsize屬性無效問題的解決方法
- android TextView不用ScrollViewe也可以滾動的方法
- Android設(shè)置TextView顯示指定個數(shù)字符,超過部分顯示...(省略號)的方法
- Android中TextView顯示圓圈背景或設(shè)置圓角的方法
- Android?妙用TextView實現(xiàn)左邊文字,右邊圖片
相關(guān)文章
Android LayoutTransiton實現(xiàn)簡單的錄制按鈕
這篇文章主要介紹了Android LayoutTransiton實現(xiàn)簡單的錄制按鈕,主要實現(xiàn)開始,暫停,停止和顯示錄制時間長度,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-06-06Android開發(fā)之基于DialogFragment創(chuàng)建對話框的方法示例
這篇文章主要介紹了Android開發(fā)之基于DialogFragment創(chuàng)建對話框的方法,結(jié)合實例形式分析了DialogFragment創(chuàng)建對話框的具體功能與布局相關(guān)實現(xiàn)技巧,需要的朋友可以參考下2017-08-08Android使用自定義屬性實現(xiàn)圖片自動播放滾動的功能
這篇文章主要介紹了Android使用自定義屬性實現(xiàn)圖片自動播放滾動的功能,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-05-05Android實現(xiàn)外部喚起應(yīng)用跳轉(zhuǎn)指定頁面的方法
這篇文章主要給大家介紹了關(guān)于Android實現(xiàn)外部喚起應(yīng)用跳轉(zhuǎn)指定頁面的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2018-12-12Android 個人理財工具一:項目概述與啟動界面的實現(xiàn)
本文主要介紹Android 開發(fā)個人理財工具項目概述與啟動界面的實現(xiàn),這里主要對實現(xiàn)項目的流程做了詳細(xì)概述,并對啟動界面簡單實現(xiàn),有需要的小伙伴可以參考下2016-08-08