リファレンス・カスタマイズ

【Android Studio】カスタムフォントを使用する方法(Javaコード編)

 

Android Studio でアプリ開発をしていると、デフォルトのフォントがアプリのイメージに合わなかったり、一部だけオリジナルのフォントを使いたいことがあると思います。

ここでは Java コードでカスタムフォントを使用する方法を紹介します。
 

デフォルト
カスタム

 
 

Java コードを使わないカスタムフォントの設定方法はこちらをお読みください。

【Android Studio】カスタムフォントをアプリ全体に一括・部分的に反映させる方法 以前の記事で Android Studio でカスタムフォントを使用する方法を紹介しました。 その記事では TextVie...

 
 


 

動画

【Android Studio】カスタムフォントを使用する方法(Javaコード編)

開発環境
Android Studio: 4.1
Emulator: Nexus 4 (API 30)
 
 

解説

準備

プロジェクトの作成

このサンプルでは 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 をセットします。

ここでは TextView に id を指定して、文字を見やすくするためにフォントサイズも指定しました。

 
 

MainActivity.java

TextView にカスタムフォントを反映させます。

MainActivity.java を開いて、16~18行目を追加します。

 

必要な import

コードを入力していると、このように Typeface の部分が赤くなり、青いメッセージが出るかもしれません。


 

これは android.graphics.Typeface をインポートしてくださいという警告です。
 

青いメッセージが出ている状態で altreturn を同時に押してください。

警告が消えましたか?
 

コードを見てみると、5行目に import android.graphics.Typeface; が追加されています。


 

同じような警告が出たときは altreturn を同時に押すことで必要な 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

 

ABOUT ME
Sara
Sara
「わかりやすく・シンプル」をモットーに、スマホアプリ・ウェブアプリの作り方を紹介します。 独学でプログラミングを勉強をしている方、基礎は勉強したけれど次に何をすれば良いか分からない...という方のお役に立てるサイトを目指しています🙂
独学は難しそうと感じたら

 
独学でプログラミングを勉強するのは難しそう、効率的にプログラミングを学びたいという方はオンラインスクールがオススメです。

オンラインスクールを選ぶときのポイント

  • 無料体験があること
  • 個別サポートがあること

自分にあったスタイルを見つけるために、無料体験のご利用をオススメします。(無料体験後に自分には合わないなと感じたらハッキリ断ってしまって問題ありません。)
 
個別サポートもプログラミング学習に挫折しないために重要なポイントです。エラーや困った時にすぐに個別対応をしてくれるスクールを利用して下さい。

ここでは3つのオンラインスクールを紹介します。
全て無料体験がありますので、ぜひ自分に合ったスクールを見つけてみて下さい????
 

1. TechAcademy(テックアカデミー)

オンライン完結で勉強できるスクールで、コースがとても充実しています。チャットで質問すればすぐに回答を得られるのが一番のおすすめポイントです。
オリジナルのサービスやアプリの開発もサポートしてくれるので、開発したいものが決まっている人にもオススメです。

無料体験はこちら

2. CodeCamp(コードキャンプ)

一対一で受講できる個別指導のプログラミングスクールです。
Webデザイン・Webサービス開発・アプリ開発などを幅広く学習することができます。
マンツーマンなので自分のペースで学習できて、質問もその都度できるのがメリットです。

無料体験レッスンはこちら

3. Treehouse

英語でも良い、英語とプログラミングを同時に勉強したいという方は Treehouse がオススメです。月25ドルで始めることができて、たくさんのプログラミング言語を学ぶことができます。
個別サポートはありませんが、掲示板が充実しています。ほとんどの場合、質問してから30分程度で回答を得ることができます。

7日間の無料体験はこちら

guest
0 Comments
Inline Feedbacks
View all comments
0
この記事にコメントするx