android TextView的使用總結

2021-09-06 05:54:24 字數 2298 閱讀 6776

一款android下的名片識別源**

【上海見面會】上海移動開發者大會精彩瞬間

textview不單單能夠顯示簡單的文字內容,也可以顯示複雜的文字內容:富文字

顯示富文字有如下幾種:

1、顯示帶標籤的文字,但是沒有內容

帶標籤的字串內容無法直接通過textview的settext直接顯示,如果直接顯示,則字串什麼內容,就顯示什麼內容了,而是需要通過html.fromhtml進行轉換成對應格式的字串樣式;因為任何的元件或者元件上面的內容,都是android通過畫筆畫上去的;所以,要顯示富文字,帶各種樣式,就有很多種實現的方式了;可以使用webview元件顯示html頁面,也可以繼承view類或者子類,覆蓋ondraw方法直接繪製富文字或者影象,扯遠了;

tv =(textview) findviewbyid(r.id.textviewhtml01); 

stringbuilder sb = new

stringbuilder();

");

");

+ "'>hello world

");

");

charsequence charsequence =html.fromhtml(sb.tostring());

tv.settext(charsequence);

tv.setmovementmethod(linkmovementmethod.getinstance());

這裡需要注意的是:html.fromhtml轉化後,且設定settext;設定完成,必須要進行setmovementmethod;如果沒有設定的話,雖然文字的字串的樣式也會顯示成功,但是上面的超連結 就沒有用了;

2、如何顯示影象到textview

有兩種方式實現:

第一種:在html.fromhtml方法裡面,實現imagegetter介面來完成

private

void

getdrawabletextview()

}, null

);

tv.settext(charsequence);

tv.setmovementmethod(linkmovementmethod.getinstance());

} /*** 由於無法直接使用檔名來引用影象資源,利用反射技術獲得影象資源id

* 根據資源id獲得資源影象的bitmap物件,然後由該物件建立imagaspan物件

* 建立乙個spannablestring物件,以便插入用imagespan物件封裝的影象 然後用imagespan物件替換ic_launche

* 將影象顯示在textview上面

*/private

void

showbitmaptotextview()

3、同時設定文字的顏色和文字的背景色

因為backgroundcolorspan只能設定文字的背景色,為了也能設定文字的顏色,可以自定義乙個colorspan繼承characterstyle

class colorspan extends

characterstyle

/*** 這個方法是在系統開始繪製要設定樣式的字串之前呼叫,以便修改文字的屬性

*/@override

public

void

updatedrawstate(textpaint tp)

}

這種方式來設定,因為textpaint是paint的子類,paint類用於描繪繪製的屬性,如畫筆的顏色,粗細等,所以通過自定義這個類,讓文字樣式變的更加的靈活;

android textview換行問題

應用中 textview包含年月日的時候 在一行內不能顯示完整時 文字內容會自動換行。這裡使用網上大家使用的方法,比如半形轉全形 過濾特殊字元等等都無效。最終的解決辦法是在年月日這裡加空格。eg 2013年11月28日20時22分 最終替換為 2013 年 11 月 28 日 20時22分 個人理解...

android textview功能列表

1 顯示富文字 url 文字大小 顏色 字型 autolink all phone web email map none string str i love china charsequeence cq html.fromhtml str textview.settext cq textview.s...

Android TextView屬性XML詳解

android ems 設定textview的寬度為n個字元的寬度。android maxems 設定textview的寬度為最長為n個字元的寬度。與ems同時使用時覆蓋ems選項。android minems 設定textview的寬度為最短為n個字元的寬度。與ems同時使用時覆蓋ems選項。an...