Android's Paint API - Typeface (font)

This section brings the last API of the Paint API series, Typeface (font type) . From the meaning of the word, we can probably guess that this API is used to set fonts and font styles, and it is very simple to use! Let's learn some related usage of Typeface!

Official API documentation: Typeface ~


1. Optional styles for fonts

Four integer constants:

  • BOLD : bold
  • ITALIC : italics
  • BOLD_ITALIC : bold italic
  • NORMAL : normal

2. Optional font object (Typeface)

The Android system supports three fonts by default, namely: sans , serif , monospace  , and there are five optional static object values:

  • DEFAULT : default normal font object
  • DEFAULT_BOLD : the default font object, note: this can't actually be bold, it depends on the font settings. Determined by getStyle()
  • MONOSPACE : monospace font style
  • SANS_SERIF : sans serif font style
  • SERIF : serif font style

3. Create custom fonts

Maybe the default three fonts are not enough for you, maybe you like the font of MAC - Monaco font , you want to use this font for the text in your APP, first prepare our TTF file, and then throw it into assets/font / directory and then create the corresponding object, the key code is as follows:

Typeface typeFace =Typeface.createFromAsset(getAssets(),"font/MONACO.ttf");


4. Use the code example:

Running effect diagram :

Custom View class: 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);
    }
}

Guess you like

Origin blog.csdn.net/leyang0910/article/details/131795525