91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

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

發布時間:2020-09-05 02:36:44 來源:腳本之家 閱讀:546 作者:xxq2dream 欄目:移動開發

關于TextView

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

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

Android中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單位為dip
spannableString.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包下面的幾個類

 Android中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分段顯示不同樣式字符串的方法,希望對大家有用

總結

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

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

磴口县| 邢台市| 惠安县| 禹城市| 含山县| 河曲县| 加查县| 德阳市| 永州市| 绍兴县| 墨脱县| 扶绥县| 永平县| 富阳市| 新建县| 竹北市| 鸡东县| 商丘市| 宁德市| 南靖县| 铁力市| 泰顺县| 东辽县| 汕尾市| 增城市| 梅州市| 六枝特区| 长顺县| 都昌县| 三门县| 宽甸| 北海市| 集贤县| 平果县| 阿鲁科尔沁旗| 博客| 晴隆县| 南平市| 平罗县| 林口县| 岳普湖县|