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 顯示使用的顏色
- ECShop商品詳細頁 實現尺碼顏色關聯顯示庫存數量
- 實現分頁顯示資料[並按關鍵字查詢]
- Android實現修改狀態列背景 字型 圖示顏色Android
- eclipse中的漢字橫著顯示,或顯示不正確,字型大小顏色設定Eclipse
- linux中顯示有顏色的字元......Linux字元
- CSS實現限制顯示的字數,超出顯示"..."CSS
- 特殊字元關鍵字篩選字元
- android--設定TextView部分文字的顏色和背景(高亮顯示)AndroidTextView
- Mac 終端命令列顏色高亮顯示Mac命令列
- 常見的linux的檔案顯示的顏色Linux
- 殘缺棋盤 android實現顏色填充Android
- excel填充顏色快捷鍵 表格快速填充顏色快捷鍵Excel
- js實現關鍵詞高亮顯示程式碼例項JS
- 實現隨機顏色隨機
- 交替顏色列表實現
- 調整Aplayer的歌詞顏色和字型大小顯示
- [譯] Android 實現顏色漸變的一個小 tipAndroid
- Android 沉浸式狀態列 漸變顏色的實現Android
- 論App圖示的顏色APP
- 如何在 Linux/Unix 的 Bash 中開啟或關閉 ls 命令顏色顯示Linux
- FLEX4實踐—DatagridColumn根據條件顯示不同顏色Flex
- win10顯示器顏色不正常偏紅該怎麼辦 win10顯示器顏色該怎麼校正Win10
- android顏色對應的xml配置值,顏色表AndroidXML
- windows10怎麼校色_win10顯示器顏色校正的方法WindowsWin10
- Swift 實現更改圖片的顏色Swift
- 利用顏色實現的口令程式(轉)
- HTML特殊字元顯示HTML字元
- 分析下百度是如何實現取消referer關鍵詞顯示的
- JavaFx 關鍵字高亮文字實現Java
- javascript實現關鍵字高亮(轉)JavaScript
- Android的GridView中的選中圖示後圖示的背景顏色AndroidView
- linux下目錄、檔案顯示顏色的設定生效Linux
- Web安全色所能夠顯示的顏色種類有多少種?Web
- GridView的行顏色高亮顯示(包括滿足條件的行)View
- HTML特殊字元顯示(常用到的特殊符號,箭頭相關,貨幣相關等)HTML字元符號
- Win10 1903系統中顯示器顯示顏色垂直條紋的解決方法Win10
- linux sed命令:顯示關鍵字到檔案末尾的內容Linux