在android sdk中使用typeface類來定義字型,可以通過常用字型型別名稱進行設定,如設定預設黑體:
paint mp = new paint(
);
mp.settypeface(typeface.default_bold)
常用的字型型別名稱還有:
除了字型型別設定之外,還可以為字型型別設定字型風格,如設定粗體:
paint mp = new paint(
);
typeface font = typeface.create(typeface.sans_serif, typeface.bold);
p.settypeface( font );
常用的字型風格名稱還有:
但是有時上面那些設定在繪圖過程中是不起作用的,所以還有如下設定方式:
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)來實現,儘管效果看起來不是很實在(字型中空效果)。實際發現,最後繪製的效果與手機硬體也有些關係,比如前面的繪圖測試程式,在htc裡面黑體中文一行壓根沒顯示(英文和數字是正常的),而斜體一行倒顯示了,只是沒有斜體效果。魅族m9表現的很給力,可能是m9定製的android系統裡面字型庫比較豐富吧!
原文出處:
Android中Paint字型屬性的設定
在android sdk中使用typeface類來定義字型,可以通過常用字型型別名稱進行設定,如設定預設黑體 paint mp newpaint mp.settypeface typeface.default bold 常用的字型型別名稱還有 typeface.default 常規字型型別 type...
android中Paint類引數介紹
paint即畫筆,在繪製文字和圖形用它來設定圖形顏色,樣式等繪製資訊。1.圖形繪製 setargb int a,int r,int g,int b 設定繪製的顏色,a代表透明度,r,g,b代表顏色值。setalpha int a 設定繪製圖形的透明度。setcolor int color 設定繪製的...
android中利用Paint繪製文字使其居中
要使文字垂直居中,可利用canvas的drawtext text,x,y,paint 方法,其中第三個引數y應該是baseline的值,計算公式如下 int baseline getmeasuredheight paint.descent paint.ascent 2 paint.ascent 即使...