Android中Paint字型屬性的一些設定
2011-08-19 11:36:44| 分類: Android|字型大小 訂閱
在Android SDK中使用Typeface類來定義字型,可以通過常用字型類型名稱進行設定,如設定預設黑體:
Paint mp = new paint();
mp.setTypeface(Typeface.DEFAULT_BOLD)
常用的字型類型名稱還有:
* Typeface.DEFAULT //常規字型類型
* Typeface.DEFAULT_BOLD //黑體字型類型
* Typeface.MONOSPACE //等寬字型類型
* Typeface.SANS_SERIF //sans serif字型類型
* Typeface.SERIF //serif字型類型
除了字型類型設定之外,還可以為字型類型設定字型風格,如設定粗體:
Paint mp = new Paint();
Typeface font = Typeface.create(Typeface.SANS_SERIF, Typeface.BOLD);
p.setTypeface( font );
常用的字型風格名稱還有:
* Typeface.BOLD //粗體
* Typeface.BOLD_ITALIC //粗斜體
* Typeface.ITALIC //斜體
* Typeface.NORMAL //常規
但是有時上面那些設定在繪圖過程中是不起作用的,所以還有如下設定方式:
Paint mp = new Paint();
mp.setFakeBoldText(true); //true為粗體,false為非粗體
mp.setTextSkewX(-0.5f); //float型別參數,負數表示右斜,整數左斜
mp.setUnderlineText(true); //true為底線,false為非底線
mp.setStrikeThruText(true); //true為刪除線,false為非刪除線
Paint常用的方法還有:
mp.setTextSize(); //設定字型大小,int型,如12
mp.setStrokeWidth(w); //設定線寬,float型,如2.5f,預設繪文本無需設定(預設值好像為0),但假如設定了,再繪製文本的時候一定要恢複到0
說明:對於中文粗體的設定,好像只能通過setFakeBoldText(true)來實現,儘管效果看起來不是很實在(字型中空效果)。實際發現,最後繪製的效果與手機硬體也有些關係,比如前面的繪圖測試程式.