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

このセクションでは、Paint API シリーズの最後の API Typeface (フォント タイプ)を紹介します。言葉の意味から、この API はフォントとフォント スタイルを設定するために使用されると推測できますが、使い方は非常に簡単です。Typeface の関連した使い方を学びましょう。

公式 API ドキュメント:書体~


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

4 つの整数定数:

  • 太字: 太字
  • ITALIC : イタリック体
  • BOLD_ITALIC : 太字斜体
  • ノーマル:ノーマル

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

Android システムはデフォルトで 3 つのフォント ( sansserifmonospace )をサポートしており 、オプションの静的オブジェクト値が 5 つあります。

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

3. カスタムフォントの作成

デフォルトの 3 つのフォントでは十分ではないかもしれません。MAC - Monaco fontのフォントが気に入っているかもしれません。APP 内のテキストにこのフォントを使用したいと考えています。まず TTF ファイルを準備してから、それをassets/font /にスローします。ディレクトリに移動して対応するオブジェクトを作成する場合、キーコードは次のとおりです。

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


4. コード例を使用します。

ランニング効果図

カスタム ビュー クラス: MyView.java :

/** 
 * 2015/11/5 0005 に Jay によって作成されました。 
 */ 
public class MyView extends View{ 

    private Paint mPaint1,mPaint2,mPaint3,mPaint4,mPaint5; 
    プライベートコンテキスト mContext; 

    public MyView(Context context) { 
        this(context,null); 
    public 

    MyView(Context context, AttributeSet attrs) { 
        super(context, attrs); 
        mContext = コンテキスト; 
        初期化(); 
    public 

    MyView(Context context, AttributeSet attrs, int defStyleAttr) { 
        super(context, attrs, defStyleAttr); 
    } 

    private void init(){ 
        mPaint1 = new Paint(); 
        mPaint2 = 新しいペイント();
        mPaint3 = 新しいペイント(); 
        mPaint3.setTypeface(Typeface.SANS_SERIF);
        mPaint4 = 新しいペイント(); 
        mPaint5 = 新しいペイント(); 

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

おすすめ

転載: blog.csdn.net/leyang0910/article/details/131795525