TextView的一些高級顯示

 1.    自定義字體
可以使用setTypeface(Typeface)方法來設置文本框內文本的字體,而android的Typeface又使用TTF字體文件來設置字體
所以,我們可以在程序中放入TTF字體文件,在程序中使用Typeface來設置字體:第一步,在assets目錄下新建fonts目錄,把TTF字體文件放到這裡。第二步,程序中調用:
TextViewtv = (TextView)findViewById(R.id.textView);
AssetManagermgr=getAssets();//得到AssetManager
Typefacetf=Typeface.createFromAsset(mgr, "fonts/mini.TTF");//根據路徑得到Typeface
tv.setTypeface(tf);//設置字體
效果如下圖所示:
 

 
2.    顯示多種顏色的字
Android支持html格式的字符串,通過調用Html.fromHtml(str)方法可以轉換html格式的字符串str。
示例如下:
StringtextStr1 = "<font color=\"#ffff00\">如果有一天,</font><br>";
StringtextStr2 = "<font color=\"#00ff00\">我厭倦瞭這裡,</font><br>";
StringtextStr3 = "<font color=\"#ff00ff\">我會乘著夢,</font><br>";
StringtextStr4 = "<font color=\"#00ffff\">飛向那個屬於自己的<br>世界……</font><br>";
tv.setText(Html.fromHtml(textStr1+textStr2+textStr3+textStr4));
運行後效果如下:
 

 
3.    字體加粗
在xml佈局文件中使用android:textStyle=”bold”可以將英文設置成粗體,但是不能將中文設置成粗體,將中文設置成粗體的方法是:使用TextPaint的仿“粗體”設置setFakeBoldText為true。示例代碼如下:
tv.getPaint().setFakeBoldText(true);
效果如下:


 
4.    添加陰影
在xml佈局文件中使用一系列android:shadowXXX屬性可添加設置陰影。具體為:shadowColor設置陰影顏色;shadowDx設置陰影水平偏移量;shadowDy設置陰影垂直偏移量;shadowRadius設置陰影半徑。
示例代碼:
android:shadowColor="#ffffff"
android:shadowDx="15.0"
android:shadowDy="5.0"
android:shadowRadius="2.5"
顯示效果如下:
 

 
5.    插入圖片
插入圖片有兩種方法,第一種方法就是用上面說的html格式的字符串,不過轉換稍微有些麻煩。需要用到ImageGetter類來對圖片的src屬性進行轉換。示例代碼如下:
StringimgStr = "<img src=\""+R.drawable.sidai+"\"/>";
Html.ImageGetterimageGetter = new Html.ImageGetter() {
         public Drawable getDrawable(Stringarg0) {
                   // TODO Auto-generated methodstub
                   int id =Integer.parseInt(arg0);
                   Drawable draw =getResources().getDrawable(id);
                   draw.setBounds(10, 10, 228,300);
                   return draw;
         }
};
tv.append(Html.fromHtml(imgStr,imageGetter,null));
第二種方法是使用xml佈局文件中一系列android:drawableXXX屬性來實現插入圖片。具體為:drawableBottom是在文本框內文本的底端繪制指定圖像;drawableLeft是在文本框內文本的左邊繪制指定圖像;drawableRight是在文本框內文本的右邊繪制指定圖像;drawableTop是在文本框內文本的頂端繪制指定圖像;drawablePadding設置文本框內文本與圖像之間的間距。示例代碼:
android:drawableBottom=”@drawable/sidai”
插入圖片後的顯示效果如下:

摘自 北京大學-Google Android實驗室

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。