Android String(text) 不同顏色、不同樣式的實現(xiàn)

問題描述

在安卓開發(fā)中,有時候需要一個Textview展示不同的顏色,可能是為了醒目,或者一些其他的原因。之前在開發(fā)的時候?qū)戇^,這次在項目中再次遇到。記錄一下。以防下次再遇到的時候還要再去搜。

解決方案

一、

使用SpannableStringBuilder 、SpannableString,具體api可以搜索查看。該方法是通過設(shè)置字符串下標(biāo)的方式,比如(0,5)則是字符串的0到5顯示為某種樣式。此方法有個局限性,就是在國際化的APP中,因為不同語言的字符串長度是不同的。沒法設(shè)置固定的下標(biāo)。所以在這種情況下使用方法二。

二、

通過Html.formHtml的方式

TextView tv=findviewbyId();
String text="<font color='#999999'><b>" + "--" + "</b></font>"; //粗體效果<b>
tv.setText(Html.fromHtml(text));

String text="<font color='#999999'>" + "--" + "</font>"; //不加粗

包括一些粗體效果,字體的大小都是可以設(shè)置的。
然后如果把這些代碼寫在代碼里,看起來會很亂。可以通過占位符的方式,將其寫在string文件.通過ALT+回車的萬能提示??梢钥吹絊tring.format()方法。就是了。

設(shè)置不同字體樣式

一般來說app一般給個粗體之類的足夠了。但是有的ui會給特定的字體文件。我們可以將其放在res/font目錄下。使用的時候通過。fontfamily@font即可。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容