国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

Android中TextView實現分段顯示不同顏色的字符串

2019-10-22 18:20:46
字體:
來源:轉載
供稿:網友

關于TextView

TextView是Android開發中最最常見的控件之一,在API記錄的屬性有很多,但實際開發中,也遇到很多有趣的需求,值得去嘗試,所以記錄下來,既可以給大家提供參考,同時自己需要時候也方便查找.

最近開發過程中有個小小的知識點,就是TextView顯示的內容需要分段顯示不同的顏色,如下圖所示

textview,分段顏色,android,textview顏色,textview分段顯示

一般有三種實現方式

  • 直接根據不同的需要分段字符串,然后分別使用多個TextView來顯示
  • 使用spannablestring
  • 使用Html

下面分別來簡單介紹下三種方法

多個TextVew

  • 這種方式簡單粗暴,顏色樣式控制靈活
  • 如果需要顯示的文本需要分多個段的話,那就需要很多個TextView,而且布局不好控制
  • 實現方式簡單,就不寫例子了

使用SpannableString

想必用過的人都知道,比較好的一點是SpannableString可以精確控制一個長長的字符串中第幾個到第幾個字符的樣式

SpannableString spannableString = new SpannableString("jakjfkajfjaj");//設置顏色spannableString.setSpan(new ForegroundColorSpan(Color.parseColor("#FE6026")), 3, 6, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);//設置字體大小,true表示前面的字體大小20單位為dipspannableString.setSpan(new AbsoluteSizeSpan(20, true), 0, 5, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);//設置鏈接spannableString.setSpan(new URLSpan("www.baidu.com"), 0, 5, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);//設置字體,BOLD為粗體spannableString.setSpan(new StyleSpan(android.graphics.Typeface.BOLD), 0, 5, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);

以上只是列舉了幾個常見的用法,更多的可以參考android.text.style包下面的幾個類

 textview,分段顏色,android,textview顏色,textview分段顯示

不知道大家看出上面的SpannableString的局限了沒有,沒錯,SpannableString的優點在于控制得精細,缺點也是在這。我們使用SpannableString的時候必須指定樣式使用的字符下標,那如果我們的字符串不是固定長度的呢?

使用Html

如果使用場景是字符串長度不固定的,比如需要服務端的數據來填充的

"首付:" + data1 + "月供:" + data2

服務端返回的數據長度不固定的話,用SpannableString就尷尬了,這時候可以考慮用Html

Html使用格式比較簡單,需要用到font標簽,具體的話看下面的例子

//首先是拼接字符串String content = "<font color=/"#FE6026/">" + data + "</font>"//然后直接setText()TextView tvContent = (TextView) view.findViewById(R.id.tvContent);tvContent.setText(Html.fromHtml(content));

以上就是TextView分段顯示不同樣式字符串的方法,希望對大家有用

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對VEVB武林網的支持。


注:相關教程知識閱讀請移步到Android開發頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 浮山县| 乌鲁木齐市| 宁都县| 沙洋县| 东方市| 阿巴嘎旗| 牟定县| 新河县| 麻城市| 仁怀市| 游戏| 孙吴县| 广宗县| 江油市| 通渭县| 黄大仙区| 盘锦市| 任丘市| 都匀市| 开封市| 安徽省| 千阳县| 舒城县| 息烽县| 公主岭市| 青铜峡市| 自治县| 成安县| 阳高县| 永安市| 沈阳市| 鹿泉市| 屏边| 灌南县| 丰宁| 巴林右旗| 西城区| 徐闻县| 和林格尔县| 成都市| 浑源县|