)Android教程之如何使用自訂字型

來源:互聯網
上載者:User

要在其他平台實現自訂字型可謂是相當的麻煩,但是在Android平台就很簡單了。

首先將自訂字型放到“assets”下面被執行個體化之後再使用,字型檔如所示。

在程式中通過如下方式執行個體化自訂字型:

  1. Typeface.createFromAsset(getContext().getAssets(),"fonts/samplefont.ttf");   

下面是Android預設字型和自訂字型的繪製效果:

原始碼如下:

package com.yarin.Android.Typefaces;             import Android.app.Activity;       import Android.content.Context;       import Android.graphics.Canvas;       import Android.graphics.Color;       import Android.graphics.Paint;       import Android.graphics.Typeface;       import Android.os.Bundle;       import Android.view.View;             public class Typefaces extends Activity       {           /** Called when the activity is first created. */          @Override          public void onCreate(Bundle savedInstanceState)           {               super.onCreate(savedInstanceState);                              setContentView(new SampleView(this));           }                      private static class SampleView extends View            {               private Paint    mPaint = new Paint(Paint.ANTI_ALIAS_FLAG);               private Typeface mFace;                              public SampleView(Context context)                {                   super(context);                   //執行個體化自訂字型                    mFace = Typeface.createFromAsset(getContext().getAssets(),"fonts/samplefont.ttf");                   //設定字型大小                    mPaint.setTextSize(32);               }                              @Override protected void onDraw(Canvas canvas)                {                   canvas.drawColor(Color.WHITE);                   //繪製預設字型                    mPaint.setTypeface(null);                   canvas.drawText("Default:abcdefg", 10, 100, mPaint);                   //繪製自訂字型                    mPaint.setTypeface(mFace);                   canvas.drawText("Custom:abcdefg", 10, 200, mPaint);               }           }       }

好了,就這麼簡單就實現了自訂字型。
下面是兩個非常有用的方法,在這裡備份一下:

//消除鋸齒        paint.setFlags(Paint.ANTI_ALIAS_FLAG)       //取得字串寬度        paint.measureText()  
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.