安卓TextView中改變部分文字顏色的幾種方式
2. 第二種,使用Html.fromHtml()//部分文字改變顏色 //ForegroundColorSpan 為文字前景色,BackgroundColorSpan為文字背景色 ForegroundColorSpan redSpan = new ForegroundColorSpan(getResources().getColor(R.color.text_red)); ForegroundColorSpan graySpan = new ForegroundColorSpan(getResources().getColor(R.color.text_gray)); mTextView.setText("灰色紅色"); //這裡注意一定要先給textview賦值 SpannableStringBuilder builder = new SpannableStringBuilder(mTextView.getText().toString()); //為不同位置字串設定不同顏色 builder.setSpan(graySpan, 0, 2, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); builder.setSpan(redSpan, 2, 4, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); //最後為textview賦值 mTextView.setText(builder);
TextView desc1 = (TextView)findViewById(R.id.desc1); TextView desc2 = (TextView)findViewById(R.id.desc2); TextView desc3 = (TextView)findViewById(R.id.desc3); String content1 = "務必使用<font color='red'>銀行卡</font>開戶時<font color='red'>預留手機號</font>!"; String content2 = "點選獲取驗證碼按鈕後,您將收到<font color='red'>銀行驗證碼簡訊</font>!"; String content3 = "時間<font color='red'>工作日09:00 - 次日06:00</font>!"; desc1.setText(Html.fromHtml(content1)); desc2.setText(Html.fromHtml(content2)); desc3.setText(Html.fromHtml(content3));
3. 總結
1. 使用SpannableStringBuilder由於顏色是在本地定義的,所以可以精確地控制要顯示的顏色,相容性最好。
缺點也很明顯太麻煩了,需要為每一種顏色定義一個ForegroundColorSpan
2. 使用Html方式則相對比較簡單,直接在字串裡面使用標籤即可,但是缺點也相對明顯,只能使用標籤裡面預定義的集中顏色值,與本地相容性不是很好4. 若還有其他方式歡迎指出
相關推薦
安卓TextView中改變部分文字顏色的幾種方式
1. 第一種使用SpannableStringBuilder //部分文字改變顏色 //ForegroundColorSpan 為文字前景色,BackgroundColorSpan為文字背景色
給你的TextView中的部分文字加入沒有下劃線的超連結
專案優化,當網路請求失敗時加上提醒,並可以點選TextView中的“重新整理”兩個字再次請求。使用ClickableSpan對超連結進行設定。預設情況下的樣式是這樣的: 想要的樣式是這樣的: 我們使用預設ClickableSpan的方法如下: Spannab
給TextView中的部分文字新增連結的兩種方式
public class MainActivity extends ActionBarActivity{ private int systemVersion; private TextView tv; static Context ctx = null ; @Overri
安卓開發中常見的RGB顏色表
自己在開發過程中發現經常要用到顏色的RGB值,每次都是網上百度,十分苦惱,索性寫出來供參考 如paint.setARGB(255, 127, 255, 212);就需要自己計算下分量的各個值。這裡提供一個帶有r g b分量的int型的顏色表。注意paint.setAlp
給TextView中的部分文字變色和新增點選
只給textview設定字型顏色 CharSequence str=getText("你說啥呢"); SpannableString spannableString1 = new SpannableString(str); spannableString1.s
關於TextView中修改部分字型顏色、大小方法的總結
TextView屬性描述 屬性名稱 描述 android:autoLink 設定是否當文字為URL連結/email/電話號碼/map時,文字顯示為可點選的連結。可選值(none/web/email/phone/map/all) android:autoT
TextView中的部分文字響應點選事件
TextView是android常用的控制元件,經常要顯示不同文字的大小,顏色,......今天要實現這樣這樣一個需求,TextView某段內容顯示的文字顏色不一樣,並且點選區域只能是改變了顏色的字. 1.給TextView設定設定文字背景為透明色,不然會有點選選中效果.
前端知識小節--js中改變this指向的三種方式
在寫程式碼完成專案的過程中我們經常會遇到需要改變this指向來實現功能的時候,以下三種方式是常用的改變this指向的方法: 1.call call中的引數有多個,如: aa.call(obj,num1,num2); obj是函式執行的作用域,num1,num2是要給函式傳的
cocos2d中的新增文字的三種方式
在 cocos2d 中有三個類可以在層或精靈中新增文字: CCLabelTTFCCLabelBMFontCCLabelAtlas CCLabelTTF 每次呼叫 setString (即改變文字)的時候,一個新的OPENGL 紋理將會被建立.。這意味著setString 和建立一個新的標籤一樣慢。所以,當你
cocos2d-x 中新增顯示文字的三種方式 LabelTTF 、LabelBMFont 和 LabelAtlas
在 cocos2d-x 中有三個類可以在層或精靈中新增文字: LabelTTFLabelBMFontLabelAtlas LabelTTF 直接支援使用 TTF 字型檔,可以支援全部的中文,但是效率稍低。LabelBMFont 適合顯示特定的文字,通過預先將文字生成圖片,
JS中定義對象的幾種方式
cnblogs turn 函數對象 屬性。 array fff 動態 pan 改進 在JavaScript中定義對象可以采用以下幾種方式: 1.基於已有對象擴充其屬性和方法 2.工廠方式 3.構造函數方式 4.原型(“prototype”)方式 5.動態
ASP.Net中頁面傳值的幾種方式
webconfig local 區別 重啟 Nid 傳遞對象 app too BE 大致概括一下,ASP.NET 頁面之間傳遞值得方式大致可以分為如下幾種:Request.QueryString["name"],Request.Form("name"),Session,Co
js中檢測資料型別的幾種方式
1、typeof 一元運算子,用來檢測資料型別。只可以檢測number,string,boolean,object,function,undefined。 對於基本資料型別是沒有問題的,但是遇到引用資料型別是不起作用的(無法細分物件)
Go實戰--golang中讀寫檔案的幾種方式
讀寫檔案應該是在開發過程中經常遇到的,今天要跟大家一起分享的就是在golang的世界中,如何讀寫檔案。 使用io/ioutil進行讀寫檔案 其中提到了兩個方法: func ReadFile func ReadFile(filename string) ([]by
Web開發中 前端路由 實現的幾種方式和適用場景
故事從名叫Oliver的綠箭蝦`說起,這位大蝦酷愛社交網站,一天他打開了 Twitter ,從發過的tweets的選項卡一路切到followers選項卡,Oliver發現頁面的內容變化了,URL也變化了,但為什麼頁面沒有閃爍重新整理呢?於是Oliver開啟的網路監控器(沒錯,Oliver是個程式設計師),他驚
Shell中表示數字跨度的幾種方式
在Shell指令碼中,如果要輸出數字為0-20中3的倍數。可以使用下面三種方式來完成 方式一: ((i=0;i<=20;i+=3)) for((i=0;i<20;i+=3)) do echo $i done 方式二: {0..20..3} for
Javaweb中頁面跳轉的幾種方式
1.轉發 request.getRequestDispatcher("/homework0608/1.jsp").forward(request, response); 2.重定向 方式一: response.setHeader("Refresh",
android中獲取日期時間的幾種方式
日期時間的獲取方式如下所示: 1、使用SimpleDateFormat和Date類獲取日期時間 private String _GetYear(){ SimpleDateFormat sdf
Spring MVC中返回JSON資料的幾種方式
我們都知道Spring MVC 的Controller方法中預設可以返回ModeAndView 和String 型別,返回的這兩種型別資料是被DispatcherServlet拿來給到檢視解析器進行繼續處理返回頁面的,而不是直接返回給客戶端的。有時候我們需要發請求後讓服務端直接返回一些資料,不再經過Dispa
thinkphp中URL傳引數的幾種方式
在thinkphp中,url傳參合asp.net中原理類似,下面就單個引數和多個引數傳遞方式進行一個簡單講解1.傳單個引數 單個引數這種比較簡單,例如 想像edit操作裡面傳遞一個id值,如下寫法__URL__/edit/id/11http://localhost/index.php/user/edit/id