English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
在做项目的时候,遇到过一行文字有两种颜色。在菜鸟的时候直接会想到用多个TextView来实现。后来自己学的多了就找到了更为简单的方法了。
直接上代码:
方法一:
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="默认颜色<font color='#FF0000'>红颜色</font>"; tv.setTextSize(18); tv.setText(Html.fromHtml(str));
效果图如下:
当然,还可以改变两种颜色的文字的大小。
Java代码片段:
extView tv=(TextView)findViewById(R.id.tv); String str="默认颜色<font color='#FF0000'><small>红颜色</small></font>"; tv.setTextSize(18); tv.setText(Html.fromHtml(str));
效果图如下:
好的,就这样子了。一个小功能就完成了。
方法二:
用SpannableString来实现。
Java代码片段:
SpannableString spannableString = new SpannableString("默认颜色红颜色"); spannableString.setSpan(new ForegroundColorSpan(Color.parseColor("#FF0000")), 4, spannableString.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); tv.setText(spannableString);
Dove "colore di default rosso" è il testo che si desidera modificare. Il metodo setSpan ha quattro parametri, ForegroundColorSpan è per impostare il colore di primo piano del testo, ossia il colore del testo. Se si desidera aggiungere un colore di sfondo al testo, si può sostituire con BackgroundColorSpan. 4 è la posizione iniziale di cambiamento del colore del testo.
spannableString.length() è la posizione finale di cambiamento del colore del testo. L'ultimo parametro è un tipo booleano e può accettare le seguenti quattro opzioni.
Spanned.SPAN_INCLUSIVE_EXCLUSIVE dal indice di inizio al finale dell'indice, inclusivo dell'indice di inizio
Spanned.SPAN_INCLUSIVE_INCLUSIVE dal indice di inizio al finale dell'indice, inclusivo sia dell'indice di inizio che del finale
Spanned.SPAN_EXCLUSIVE_EXCLUSIVE dal indice di inizio al finale dell'indice, ma né l'indice di inizio né il finale sono inclusi
Spanned.SPAN_EXCLUSIVE_INCLUSIVE dal indice di inizio al finale dell'indice, inclusivo del finale
Di seguito è riportato tutto il contenuto che abbiamo raccolto per voi su come implementare la funzione di cambiamento della colorazione locale di TextView in Android. Per ulteriori informazioni, potete cercare gli articoli di cui avete bisogno nel tutorial di urla, grazie per il vostro supporto.
Dichiarazione: il contenuto di questo articolo è stato tratto da Internet, il copyright spetta ai rispettivi proprietari, il contenuto è stato contribuito volontariamente dagli utenti di Internet e caricato autonomamente, il sito web non detiene i diritti di proprietà, non è stato elaborato manualmente e non assume responsabilità legali correlate. Se trovi contenuti sospetti di violazione del copyright, ti preghiamo di inviare una e-mail a: notice#oldtoolbag.com (al momento dell'invio dell'e-mail, sostituisci # con @) per segnalare il problema e fornire prove pertinenti. Una volta verificata, il sito eliminerà immediatamente il contenuto sospetto di violazione del copyright.