TextView的一些應用(Textview 自定義字體、顯示多種顏色、添加陰影)

1.    自定義字體
可以使用setTypeface(Typeface)方法來設置文本框內文本的字體,而androidTypeface又使用TTF字體文件來設置字體
所以,我們可以在程序中放入TTF字體文件,在程序中使用Typeface來設置字體:第一步,在assets目錄下新建fonts目錄,把TTF字體文件放到這裏。第二步,程序中調用:

TextView tv = (TextView)findViewById(R.id.textView);
AssetManager mgr=getAssets();//得到AssetManager
Typeface tf=Typeface.createFromAsset(mgr, "fonts/mini.TTF");//根據路徑得到Typeface
tv.setTypeface(tf);//設置字體


特別注意:字體名字不能爲中文,必須爲英文

即使是不用的字體是中文名字的,也不要放在fonts文件夾下,因爲在封裝成apk時偶爾也會出錯

 
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的仿粗體設置setFakeBoldTexttrue。示例代碼如下:
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”

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章