Android中Paint字體屬性的一些設置

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)來實現,盡管效果看起來不是很實在(字體中空效果)。實際發現,最後繪制的效果與手機硬件也有些關系,比如前面的繪圖測試程序.

You May Also Like