【お知らせ】みんプロ式Flutter講座は2026年4月末をもって新規販売を終了いたします。詳しくはこちら →
[Android]カスタムフォントの設定の仕方6ステップ(Calligraphy)
Androidの日本語の標準フォントは、こんな感じの普通のゴシック体(?)ですが、

このようないい感じのフォントを使って、より格好良く、よりかわいく見せたいことがありますよね。

そんなときに、「Calligraphy」というライブラリを使うと、簡単にカスタムフォントを設定することができます。
もくじ
1.「Calligraphy」のインストール(モジュールレベルの「build.gradle」に依存関係を設定))
dependencies {
compile 'uk.co.chrisjenx:calligraphy:2.3.0'
}
2.自分の使いたいフォントのttfファイルを取得(商用フリーのもの)
ここ以外にも色々フォントが入手できるサイトあります(フォント 商用フリーでググってみてください)
3.プロジェクトに「assets」フォルダを作って、入手したフォントファイルを入れる
assetsフォルダは何でも入れることが出来るので、種類ごとにフォルダを切ったほうがわかりやすいと思います(今回は「fonts」フォルダを作りました)。

4.Applicationクラスを継承したクラスを作って(例ではMyApplication)、onCreateメソッドでCalligraphyの初期設定
ApplicationクラスのonCreateメソッドは、アプリが起動した時に一番最初に通るメソッドです。アプリの色んな初期設定に使えるクラスですね。
class MyApplication: Application() {
override fun onCreate() {
super.onCreate()
CalligraphyConfig.initDefault(CalligraphyConfig.Builder()
.setDefaultFontPath("fonts/font.ttf")
.setFontAttrId(R.attr.fontPath)
.build())
}
}
5.マニフェストファイルで、4で作ったApplicationを継承したクラスを最初に起動するクラスに設定
これ、結構忘れがちになるので注意。
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="https://schemas.android.com/apk/res/android"
package="net.minpro.kotlinapp">
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme"
android:name=".MyApplication"> ← コレ!!
6.カスタムフォントを表示させたい画面(Activity)で、カスタムフォントにアクセスできるように設定(attachBaseContextメソッドのオーバーライド)
class MainActivity : AppCompatActivity() {
override fun attachBaseContext(newBase: Context?) {
super.attachBaseContext(CalligraphyContextWrapper.wrap(newBase))
}
}
以上です。
とても簡単な設定でカスタムフォントが使えますので、是非やってみてください。
フォントが変わるだけで、見た目が全然違うアプリになりますよ!!
(詳しくは下の動画で解説していますので、よろしければご覧ください)


