Android基礎入門教程——8.3.15 Paint API之——Typeface(字型)

來源:互聯網
上載者:User

標籤:android   paint   字型   typeface   字型   

Android基礎入門教程——8.3.15 Paint API之——Typeface(字型)

標籤(空格分隔): Android基礎入門教程

本節引言:

本節帶來Paint API系列的最後一個API,Typeface(字型),由字義,我們大概可以猜到,這個
API是用來設定字型以及字型風格的,使用起來也非常的簡單!下面我們來學習下Typeface的一些相關
的用法!官方API文檔:Typeface~

1.字型的可選風格

四個整型常量:

  • BOLD:加粗
  • ITALIC:斜體
  • BOLD_ITALIC:粗斜體
  • NORMAL:正常
2.可選字型對象(Typeface)

Android系統預設支援三種字型,分別為:sansserifmonospace
而提供的可選靜態對象值有五個:

  • 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);    }}

恩呢,非常簡單~就不解釋了,要字型的可以自己百度或者下載範例程式碼~

本節範例程式碼下載:

TypefaceDemo.zip

本節小結:

好的,一連十幾節的Paint API詳解就到這裡了,應該已經涵蓋大部分的可能會用到的API了,
不知道你都Get了沒,這些都是為我們進階部分的自訂控制項做鋪墊~嗯,就說這麼多,謝謝~

著作權聲明:本文為博主原創文章,未經博主允許不得轉載。

Android基礎入門教程——8.3.15 Paint API之——Typeface(字型)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.