1. 自定義字體
可以使用setTypeface(Typeface)方法來設置文本框內文本的字體,而android的Typeface又使用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的仿“粗體”設置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”