W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
本節(jié)帶來Paint API系列的最后一個(gè)API,Typeface(字型),由字義,我們大概可以猜到,這個(gè) API是用來設(shè)置字體以及字體風(fēng)格的,使用起來也非常的簡單!下面我們來學(xué)習(xí)下Typeface的一些相關(guān) 的用法!
官方API文檔:Typeface~
四個(gè)整型常量:
- BOLD:加粗
- ITALIC:斜體
- BOLD_ITALIC:粗斜體
- NORMAL:正常
Android系統(tǒng)默認(rèn)支持三種字體,分別為:sans,serif,monospace 而提供的可選靜態(tài)對象值有五個(gè):
- DEFAULT:默認(rèn)正常字體對象
- DEFAULT_BOLD:默認(rèn)的字體對象,注意:這實(shí)際上不可能是粗體的,這取決于字體設(shè)置。 由getStyle()來確定
- MONOSPACE:monospace 字體風(fēng)格
- SANS_SERIF:sans serif字體風(fēng)格
- SERIF:serif字體風(fēng)格
可能默認(rèn)的三種字體并不能滿足你,可能你喜歡MAC的字體——Monaco字體,你想讓你APP 里的文字可以用這種字體,首先準(zhǔn)備好我們的TTF文件,然后丟到assets/font/目錄下 然后創(chuàng)建對應(yīng)對象,關(guān)鍵代碼如下:
Typeface typeFace =Typeface.createFromAsset(getAssets(),"font/MONACO.ttf");
運(yùn)行效果圖:
自定義的View類:MyView.java:
/** * Created by Jay on 2015/11/5 0005. */ public class MyView extends View{ private Paint mPaint1,mPaint2,mPaint3,mPaint4,mPaint5; private Context mContext; public MyView(Context context) { this(context,null); } public MyView(Context context, AttributeSet attrs) { super(context, attrs); mContext = context; init(); } public MyView(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); } private void init(){ mPaint1 = new Paint(); mPaint2 = new Paint(); mPaint3 = new Paint(); mPaint4 = new Paint(); mPaint5 = new Paint(); mPaint1.setColor(Color.RED); mPaint2.setColor(Color.BLUE); mPaint3.setColor(Color.BLACK); mPaint4.setColor(Color.YELLOW); mPaint5.setColor(Color.GRAY); mPaint1.setTextSize(100); mPaint2.setTextSize(100); mPaint3.setTextSize(100); mPaint4.setTextSize(100); mPaint5.setTextSize(100); mPaint1.setTypeface(Typeface.DEFAULT_BOLD); mPaint2.setTypeface(Typeface.MONOSPACE); mPaint3.setTypeface(Typeface.SANS_SERIF); mPaint4.setTypeface(Typeface.SERIF); mPaint5.setTypeface(Typeface.createFromAsset(mContext.getAssets(), "font/MONACO.ttf")); } @Override protected void onDraw(Canvas canvas) { canvas.drawText("Coder-pig", 100, 100, mPaint1); canvas.drawText("Coder-pig", 100, 200, mPaint2); canvas.drawText("Coder-pig", 100, 300, mPaint3); canvas.drawText("Coder-pig", 100, 400, mPaint4); canvas.drawText("Coder-pig", 100, 500, mPaint5); } }
恩呢,非常簡單~就不解釋了,要字體的可以自己百度或者下載示例代碼~
好的,一連十幾節(jié)的Paint API詳解就到這里了,應(yīng)該已經(jīng)涵蓋大部分的可能會(huì)用到的API了, 不知道你都Get了沒,這些都是為我們進(jìn)階部分的自定義控件做鋪墊~嗯,就說這么多,謝謝~
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: