All Your Baseの日記

モバイルアプリを開発しています。

【Android】Calligraphyでカスタムフォントを設定する

f:id:ayb:20171022195730j:plain

AndroidでCalligraphyというライブラリを使ってカスタムフォントを簡単に設定する方法をメモしておきます。詳しい使い方は公式を参照してください(英語)。

github.com

Calligraphyの導入

app/build.gradle にCalligraphyを追加して、Syncします。Calligraphyの最新バージョンはGitHubのリポジトリを確認します。

dependencies {
    compile 'uk.co.chrisjenx:calligraphy:2.3.0'
}

assetsフォルダにフォントファイルを配置

assetsフォルダにフォントファイルを配置します。assetsフォルダがなければ、右クリックして作ります(下記画像参照)。assetsフォルダができたら、assetsフォルダの上でフォントファイルをペーストすればOKですね。

f:id:ayb:20171022194950p:plain

Calligraphyの初期化

ApplicationクラスあたりでCalligraphyの初期化を行います。マニフェストのApplicationの設定を忘れずにしておきましょう。

public class MyApplication extends Application {

    @Override
    public void onCreate() {
        super.onCreate();

        CalligraphyConfig.initDefault(new CalligraphyConfig.Builder()
                .setDefaultFontPath("PixelMplus10-Regular.ttf")
                .setFontAttrId(R.attr.fontPath)
                .build()
        );
    }
}

Activityにアタッチ。

@Override
protected void attachBaseContext(Context newBase) {
    super.attachBaseContext(CalligraphyContextWrapper.wrap(newBase));
}

カスタムフォントを適用できました。

f:id:ayb:20171022195601p:plain