Android基礎入門教程——8.3.15 Paint API之——Typeface(字型)
Android基礎入門教程——8.3.15 Paint API之——Typeface(字型)
標籤(空格分隔): Android基礎入門教程
本節引言:
本節帶來Paint API系列的最後一個API,Typeface(字型),由字義,我們大概可以猜到,這個
API是用來設定字型以及字型風格的,使用起來也非常的簡單!下面我們來學習下Typeface的一些相關
的用法!
1.字型的可選風格
四個整型常量:
BOLD:加粗
ITALIC:斜體
BOLD_ITALIC:粗斜體
NORMAL:正常
2.可選字型對象(Typeface)
Android系統預設支援三種字型,分別為:sans,serif,monospace
而提供的可選靜態對象值有五個:
DEFAULT:預設正常字型對象
DEFAULT_BOLD:預設的字型對象,注意:這實際上不可能是粗體的,這取決於字型設定。
由getStyle()來確定
MONOSPACE:monospace 字型風格
SANS_SERIF:sans serif字型風格
SERIF:serif字型風格
3.自訂建立字型
可能預設的三種字型並不能滿足你,可能你喜歡MAC的字型——Monaco字型,你想讓你APP
裡的文字可以用這種字型,首先準備好我們的TTF檔案,然後丟到assets/font/目錄下
然後建立對應對象,關鍵代碼如下:
Typeface typeFace =Typeface.createFromAsset(getAssets(),”font/MONACO.ttf”);
4.使用程式碼範例:
運行:
自訂的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); }}
恩呢,非常簡單~就不解釋了,要字型的可以自己百度或者下載範例程式碼~