ペイント API - 書体 (フォント)


このセクションでは、Paint API シリーズの最後の API、Typeface (font) について説明します。言葉の意味から、おそらくこれであると推測できます。 フォントとフォント スタイルの設定には API が使用されており、使い方は非常に簡単です。書体に関連することをいくつか学びましょう 使用法!

公式 API ドキュメント: Typeface~1.gif


1. フォントのオプションのスタイル

4 つの整数定数:

  • BOLD: 太字
  • ITALIC: イタリック
  • BOLD_ITALIC: 太字italic
  • NORMAL: Normal

2. オプションのフォントオブジェクト (Typeface)

Android システムは、デフォルトで 3 つのフォント、すなわち、sansserifmonospace をサポートしています。提供される静的オブジェクト値:

  • DEFAULT: デフォルトの標準フォント オブジェクト
  • DEFAULT_BOLD: デフォルトのフォント オブジェクト、注意: これは実際には太字にできません。フォント設定によって異なります。 getStyle() によって決定されます
  • MONOSPACE: 等幅フォント スタイル
  • SANS_SERIF: サンセリフ フォント スタイル
  • SERIF: セリフ フォント スタイル

3. 作成されたカスタマイズフォント

おそらくデフォルトの 3 つフォントがあなたを満足させないあなたは、MAC フォント -

Monaco フォント が好きで、自分のアプリを作りたいと考えているかもしれません。 内のテキストではこのフォントを使用できます。まず TTF ファイルを準備してから、assets/font/ ディレクトリにスローします。 次に、対応するオブジェクトを作成します。キー コードは次のとおりです:

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


4. 使用コード例:

レンダリングを実行します:

2.png

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

まあ、非常に簡単です〜説明はしません。フォントが必要な場合は、Baidu を使用するか、サンプルコードをダウンロードしてください。 ~


このセクションのサンプル コード ダウンロード:

TypefaceDemo.zip


このセクションの概要:

さて、これは 10 以上のセクションに分かれている Paint API の詳細な説明です。使用できる API のほとんどをカバーしました。 まだ理解できたかどうかはわかりませんが、これらはすべて高度な部分のカスタム コントロールへの道を切り開くものです~はい、以上です、ありがとうございます~