アプリ開発をしていると、デフォルトのフォントがアプリのイメージに合わなかったり、一部だけオリジナルのフォントを使いたいということがあると思います。
今回は Android Studio でカスタムフォントを使用する方法を紹介します。
Java コードを使わないカスタムフォントの設定方法はこちらをお読みください。

動画
準備中
解説
準備
このサンプルでは Custom Font という名前でプロジェクトを作成して MainActivity.java と activity_main.xml があることを前提に進めていきます。
プロジェクト名などは、ご自身のプロジェクトに合わせて変更してください。
また、使いたいフォントファイルをご用意ください。ファイル形式は otf・ttf のどちらでも大丈夫です。
このサンプルでは Google Fonts でダウンロードした「Sofia」というフォントを使っていきます。
*フォントをダウンロードするときは利用規約にご注意ください。
assets フォルダの用意
フォントファイルは assets フォルダに置く必要があります。
プロジェクト作成時点では assets フォルダは作成されていないので、まずはこのフォルダを作成します。
Android Studio 画面左側の app フォルダの上で右クリックして、New → Folder → Assets Folder を選択します。
Target Source Set が「main」になっていることを確認して Finish を押します。
assets フォルダが作成されました。
assets フォルダの上で右クリックして、Mac の場合は Reveal in Finder、Windows の場合は Show in Explorer を選択します。
assets フォルダ内にフォントファイルを置いてください。
このようにフォントファイルが追加されていれば準備完了です。

activity_main.xml
カスタムフォントを使いたい TextView に id をセットします。
activity_main.xml を開いて、2行目を追加します。文字を見やすくするために6行目でフォントサイズも指定しています。
MainActivity.java
TextView にカスタムフォントを反映させます。
MainActivity.java を開いて、15~17行目を追加します。
必要な import
コードを入力していると、このように Typeface の部分が赤くなり、青いメッセージが出るかもしれません。
これは「android.graphics.Typeface」をインポートしてくださいという警告です。
青いメッセージが出ている状態で「alt」と「return」を同時に押してください。
警告が消えましたか?
コードを見てみると、3行目に import android.graphics.Typeface が追加されています。
同じような警告が出たときは「alt + return」を押すことで必要な import 文を追加することができます。
もちろん、直接コードを書いても問題ありません。
16行目
Typeface customFont = Typeface.createFromAsset(getAssets(), "Sofia-Regular.ttf");
assets フォルダからフォントファイルを読み込んでいます。
フォントのファイル名に間違いがないように注意してください。
このように複数のフォントファイルを読み込んで使用することもできます。
Typeface fontSophia = Typeface.createFromAsset(getAssets(), "Sofia-Regular.ttf");
Typeface fontOpenSans = Typeface.createFromAsset(getAssets(), "OpenSans-Bold.ttf");
myText1.setTypeface(fontSophia);
myText2.setTypeface(fontOpenSans);
完成
このように TextView のフォントが変わっていれば完成です!
うまく動かない場合は以下のサンプルコードを確認してみてください🙂
サンプルコード
activity_main.java
MainActivity.java
独学でプログラミングを勉強するのは難しそう、効率的にプログラミングを学びたいという方はオンラインスクールがオススメです。
オンラインスクールを選ぶときのポイント
- 無料体験があること
- 個別サポートがあること
自分にあったスタイルを見つけるために、無料体験のご利用をオススメします。(無料体験後に自分には合わないなと感じたらハッキリ断ってしまって問題ありません。)
個別サポートもプログラミング学習に挫折しないために重要なポイントです。エラーや困った時にすぐに個別対応をしてくれるスクールを利用して下さい。
ここでは3つのオンラインスクールを紹介します。
全て無料体験がありますので、ぜひ自分に合ったスクールを見つけてみて下さい🙂
1. TechAcademy(テックアカデミー)
2. CodeCamp(コードキャンプ)
3. Treehouse
英語でも良い、英語とプログラミングを同時に勉強したいという方は Treehouse がオススメです。月25ドルで始めることができて、たくさんのプログラミング言語を学ぶことができます。
個別サポートはありませんが、掲示板が充実しています。ほとんどの場合、質問してから30分程度で回答を得ることができます。