TextView設置不一樣的style

TextView tv;
tv.setText( " Test " );
Spannable span
= (Spannable)tv.getText();
spn.setSpan(
new BackgroundColor(#ffffffff), start, end,   Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
ps:start和end表示你要高亮顯示的子串在Test中的起始和結束位置。
go2android 發表於
2009 - 9 - 11
10 : 19

忘了一項,setText的時候要用setText(
" Text " , TextView.BufferType.SPANNABLE);






  • // 文本樣式
  •         EditText et = (EditText) findViewById(R.id.tv);   
  •         et.setText("Styling the content of an editText dynamically");   
  •         Spannable sp = et.getText();   
  •         sp.setSpan(new BackgroundColorSpan(Color.RED), 0, 7,   
  •                 Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);   
  •         sp.setSpan(new StyleSpan(android.graphics.Typeface.BOLD_ITALIC), 0, 7,   
  •                 Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);  



有兩種方法能夠定義字符串的不一樣Style:
  • 第一種方法經過在StringResource中直接定義一些Html標籤能夠知足一些最基本的設置,好比:設置粗體或者斜體等。目前所支持的標籤包括:B(粗體)、I(斜體)、U(下劃線)、TT(字符之間的距離)、BIG、SMALL、SUP(上標)、SUB(下標)和STRIKE(刪除線)等…
    下邊提供一個簡單的實例:
1.<resource>
2.    <string>id="@+id/styled_welcome_message">We are <b><i>so</i></b> glad to see you.</string>
3.</resource>


  • 第二種方法是在.java程序中動態改變TextView特定內容的Style或者實現更爲複雜的效果,下邊將使用Spannable介紹具體的實現方法,請參照如下代碼設置:
01.// Get our EditText object. 02.EditText vw = (EditText)findViewById(R.id.text); 03. 04.// Set the EditText's text. 05.vw.setText("Italic, highlighted, bold."); 06. 07.// If this were just a TextView, we could do: 08.// vw.setText("Italic, highlighted, bold.", TextView.BufferType.SPANNABLE); 09.// to force it to use Spannable storage so styles can be attached. 10.// Or we could specify that in the XML. 11. 12.// Get the EditText's internal text storage 13.Spannable str = vw.getText(); 14. 15.// Create our span sections, and assign a format to each. 16.str.setSpan(new StyleSpan(android.graphics.Typeface.ITALIC), 0, 7, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); 17.str.setSpan(new BackgroundColorSpan(0xFFFFFF00), 8, 19, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); 18.str.setSpan(new StyleSpan(android.graphics.Typeface.BOLD), 21, str.length() - 1, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
相關文章
相關標籤/搜索