Android中TextView局部變色功能實(shí)現(xiàn)
在做項(xiàng)目的時(shí)候,遇到過一行文字有兩種顏色。在菜鳥的時(shí)候直接會(huì)想到用多個(gè)TextView來實(shí)現(xiàn)。后來自己學(xué)的多了就找到了更為簡(jiǎn)單的方法了。
直接上代碼:
方法一:
xml代碼片段:
<TextView
android:id="@+id/tv"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
Java代碼片段:
TextView tv=(TextView)findViewById(R.id.tv); String str="默認(rèn)顏色<font color='#FF0000'>紅顏色</font>"; tv.setTextSize(18); tv.setText(Html.fromHtml(str));
效果圖如下:

當(dāng)然,還可以改變兩種顏色的文字的大小。
Java代碼片段:
extView tv=(TextView)findViewById(R.id.tv); String str="默認(rèn)顏色<font color='#FF0000'><small>紅顏色</small></font>"; tv.setTextSize(18); tv.setText(Html.fromHtml(str));
效果圖如下:

好的,就這樣子了。一個(gè)小功能就完成了。
方法二:
用SpannableString來實(shí)現(xiàn)。
Java代碼片段:
SpannableString spannableString = new SpannableString("默認(rèn)顏色紅顏色");
spannableString.setSpan(new ForegroundColorSpan(Color.parseColor("#FF0000")), 4,spannableString.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
tv.setText(spannableString);
其中,”默認(rèn)顏色紅顏色” 為你要改變的文本。setSpan方法有四個(gè)參數(shù),F(xiàn)oregroundColorSpan是為文本設(shè)置前景色,也就是文字顏色。如果要為文字添加背景顏色,可替換為BackgroundColorSpan。4為文本顏色改變的起始位置,
spannableString.length()為文本顏色改變的結(jié)束位置。最后一個(gè)參數(shù)為布爾型,可以傳入以下四種。
Spanned.SPAN_INCLUSIVE_EXCLUSIVE 從起始下標(biāo)到終了下標(biāo),包括起始下標(biāo)
Spanned.SPAN_INCLUSIVE_INCLUSIVE 從起始下標(biāo)到終了下標(biāo),同時(shí)包括起始下標(biāo)和終了下標(biāo)
Spanned.SPAN_EXCLUSIVE_EXCLUSIVE 從起始下標(biāo)到終了下標(biāo),但都不包括起始下標(biāo)和終了下標(biāo)
Spanned.SPAN_EXCLUSIVE_INCLUSIVE 從起始下標(biāo)到終了下標(biāo),包括終了下標(biāo)
以上是本次我們給大家整理的關(guān)于Android中TextView局部變色功能實(shí)現(xiàn)的全部?jī)?nèi)容,更多內(nèi)容大家可以在腳本之家里搜索你需要的文章,感謝你的支持。
相關(guān)文章
Android事件分發(fā)機(jī)制深入刨析原理及源碼
Android?的事件分發(fā)機(jī)制大體可以分為三部分:事件生產(chǎn)、事件分發(fā)?、事件消費(fèi)。事件的生產(chǎn)是由用戶點(diǎn)擊屏幕產(chǎn)生,我們這次著重分析事件的分發(fā)和消費(fèi),因?yàn)槭录职l(fā)和處理聯(lián)系的過于緊密,這篇文章將把事件的分發(fā)和消費(fèi)放在一起分析2023-04-04
Android開發(fā)筆記之:消息循環(huán)與Looper的詳解
本篇文章是對(duì)Android中消息循環(huán)與Looper的應(yīng)用進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-05-05
Flutter音樂播放插件audioplayers使用步驟詳解
audioplayers是一個(gè)可以支持同時(shí)播放多個(gè)音頻文件的Flutter的插件,可以播放多個(gè)同時(shí)的音頻文件,這篇文章主要介紹了audioplayers的使用步驟,感興趣想要詳細(xì)了解可以參考下文2023-05-05
Android WebView實(shí)現(xiàn)全屏播放視頻
WebView是Android系統(tǒng)中的原生控件,其主要功能與前端頁(yè)面進(jìn)行響應(yīng)交互,快捷省時(shí)地實(shí)現(xiàn)如期的功能,相當(dāng)于增強(qiáng)版的內(nèi)置瀏覽器。這篇文章主要介紹的是利用WebView實(shí)現(xiàn)全屏播放視頻的功能,感興趣的小伙伴可以了解一下2021-12-12
基于Android實(shí)現(xiàn)一個(gè)簡(jiǎn)易音樂播放器
在Android平臺(tái)上開發(fā)一個(gè)音樂播放器是一項(xiàng)常見的任務(wù),這涉及到對(duì)音頻文件的處理、用戶界面設(shè)計(jì)以及多媒體框架的運(yùn)用,本項(xiàng)目基于樣例代碼進(jìn)行擴(kuò)展,雖然功能相對(duì)簡(jiǎn)單,但包含了Android音樂播放器開發(fā)的核心知識(shí)點(diǎn),需要的朋友可以參考下2024-08-08
安裝android開發(fā)環(huán)境原始版(windows版)
安裝android開發(fā)環(huán)境原始版(windows版)的詳細(xì)步驟2013-03-03
Android開發(fā)在RecyclerView上面實(shí)現(xiàn)"拖放"和"滑動(dòng)刪除"-2
這篇文章主要介紹了Android開發(fā)在RecyclerView上面實(shí)現(xiàn)"拖放"和"滑動(dòng)刪除"(二)功能,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2017-03-03

