android關鍵字特殊顏色顯示的實現
在我們做開發的過程中,經常會遇到一段文字中間的幾個字需要用特殊顏色或者大小等顯示,有很多剛入門的開發沒有頭緒,下面我介紹幾種常用的實現方法,首先上效果圖:
一、多TextView方式
這種方式的好處是思路簡單,壞處是如果這段文字不止一行佈局很是困難,所以本地寫死的簡短文字可以採用,直接xml寫就行了。
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="20sp"
android:text="前面的部分"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="20sp"
android:textColor="#ff0000"
android:text="關鍵字"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="20sp"
android:text="後面的部分"/>
</LinearLayout>
二、使用SpannableString
這種方式比較靈活,擴充套件性好,有不依賴html標籤,對java開發來說好理解。
<TextView
android:id="@+id/tv_spannableString"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="20sp"
/>
tv_spannableString = (TextView) findViewById(R.id.tv_spannableString);
//建立SpannableString物件
SpannableString spannableString = new SpannableString("前面的部分關鍵字後面的部分");
//設定顏色
spannableString.setSpan(new ForegroundColorSpan(Color.parseColor("#ff0000")), 5, 8, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
tv_spannableString.setText(spannableString);
這裡把一些常用的SpannableString的方法也放進來
//設定字型大小,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);
三、使用Html標籤
因為TextView是支援載入Html標籤的,一些android的富文字編輯器也是基於這個方式,所以用這種方式也可以實現,缺點就是要求我們懂一點html標籤的用法。
<TextView
android:id="@+id/tv_html"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="20sp"
/>
tv_html = (TextView) findViewById(R.id.tv_html);
String str = String.format("前面的部分<font color='#ff0000'>關鍵字</font>後面的部分");
tv_html.setText(Html.fromHtml(str));
相關文章
- ReSharper 顯示使用的顏色
- linux中顯示有顏色的字元......Linux字元
- 特殊字元關鍵字篩選字元
- [譯] Android 實現顏色漸變的一個小 tipAndroid
- Android 沉浸式狀態列 漸變顏色的實現Android
- excel填充顏色快捷鍵 表格快速填充顏色快捷鍵Excel
- 實現隨機顏色隨機
- 調整Aplayer的歌詞顏色和字型大小顯示
- 修改Android 介面顏色Android
- win10顯示器顏色不正常偏紅該怎麼辦 win10顯示器顏色該怎麼校正Win10
- HTML特殊字元顯示HTML字元
- windows10怎麼校色_win10顯示器顏色校正的方法WindowsWin10
- HTML特殊字元顯示(常用到的特殊符號,箭頭相關,貨幣相關等)HTML字元符號
- Win10 1903系統中顯示器顯示顏色垂直條紋的解決方法Win10
- Android 高亮關鍵字TextViewAndroidTextView
- JavaFx 關鍵字高亮文字實現Java
- react native拖動上方顯示值,改變背景顏色的sliderReact NativeIDE
- Web安全色所能夠顯示的顏色種類有多少種?Web
- CSS 實現字型顏色漸變CSS
- bootstrap datepicker 單獨設定某些日期的特殊背景顏色和某些月份特殊背景boot
- 圖示任意改變顏色
- win10系統顏色不正怎麼辦 win10電腦顯示顏色怎麼調正Win10
- css文字顏色漸變的3種實現CSS
- python實現自動提取句子中的關鍵字Python
- svg 圖示設定背景顏色SVG
- 美顏SDK一鍵美顏的演算法實現流程演算法
- canvas實現動態替換人物的背景顏色Canvas
- 滑鼠移動到button顏色改變的實現
- Android 圓形ProgressBar 改變顏色Android
- Android 顏色透明度換算Android
- android更改EditText下劃線顏色Android
- 【JS】javascript實現頁面顯示數字時鐘JSJavaScript
- 在LCD螢幕上漸變顯示sRGB所有範圍顏色, 最大可漸變16,581,375種顏色
- ECHARTS-折線圖不顯示資料 控制折線圖顏色Echarts
- 關於所有馬的顏色都相同
- 短視訊系統,android Switch修改顏色修改樣式滑塊顏色Android
- [原譯]實現IEnumerable介面&理解yield關鍵字
- color-關於顏色值