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

【Android Studio】アプリのフォント(書体)を一括で変更する方法

 

Android Studio でアプリを開発していると、フォントを変更したい場合があると思います。

通常、フォントは typeface 属性で変更することができます。

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Hello"
    android:typeface="sans"/>

 
 

しかし TextView や Button など全ての要素に対して一つずつ typeface を設定するのは面倒です。

そこで今回は「全てのアクティビティのフォントを一括で変更する方法」を紹介します。
 

変更前
変更後

 

カスタムフォントの使用方法はこちらの記事をお読みください。

 


 

使用できるフォント

デフォルトで使用できるフォント(書体)は

  • Normal
  • Sans
  • Serif
  • Monospace

の4種類です。
 


 
 

日本語テキストの場合はほとんど同じようなスタイルになってしまうので、カスタムフォントを利用するのがオススメです。

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

 
 
 

フォントを一括変更する方法

Typeface(書体)の変更

Android Studio 画面左側のプロジェクト構造から app → res → values → styles.xml を開きます。

Android Studio 4.1 以降の場合は app → res → values → themes → themes.xml を開きます。


 
 

typeface を追加します。設定できる値は normal, sans, serif, monospace の4種類です。

        <item name="android:typeface">monospace</item>
    </style>
</resources>

 
 

ここでは monospace を設定したので、このような画面になりました。


 
 

注意
styles.xml で一括指定しても XML ファイルで typeface を指定すると上書きされます。例えば styles.xml で monospace を指定しても、activity_main.xml で serif と指定すると serif が適用されます。

 
 

フォントスタイルの変更

フォントスタイル BoldItalic も同じ方法で指定できます。
 

textStyle を追加します。指定できるのは bold, italic の2種類です。

        <item name="android:typeface">monospace</item>
        <item name="android:textStyle">italic</item>
    </style>
</resources>

 
 

italic を設定すると、このようになります。

 
 

Bold と Italic の両方を指定したい場合は | で繋げることができます。

<item name="android:textStyle">italic|bold</item>

 
 
 

その他のフォントカスタマイズ方法

デフォルトで変更できるのは以上です。

さらにフォントをカスタマイズしたい場合はカスタムフォントをご利用ください。
 

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

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