このセクションでは、Paint API シリーズの最後の API Typeface (フォント タイプ)を紹介します。言葉の意味から、この API はフォントとフォント スタイルを設定するために使用されると推測できますが、使い方は非常に簡単です。Typeface の関連した使い方を学びましょう。
公式 API ドキュメント:書体~
1. フォントのオプションのスタイル
4 つの整数定数:
- 太字: 太字
- ITALIC : イタリック体
- BOLD_ITALIC : 太字斜体
- ノーマル:ノーマル
2. オプションのフォント オブジェクト (書体)
Android システムはデフォルトで 3 つのフォント ( sans、serif、monospace )をサポートしており 、オプションの静的オブジェクト値が 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); } }