泥部

Androidアプリ開発の入門サイトです。

【Android】Calligraphyを使ってカスタムフォントを適用する

f:id:ayb:20181027232226j:plain

こんばんは。 @okuzawats です。Androidアプリ開発をしていて、デフォルトのフォントからフォントを変更したい時ってありますよね。私はあります。そんな時はCalligraphyというライブラリを使うと便利です。

github.com

Calligraphyを使うには、まずはapp/build.gradleに追加していきます。いつも通りの作業です。

dependencies {
    // Calligraphy
    implementation 'uk.co.chrisjenx:calligraphy:2.3.0'
}

次に、プロジェクトの中にフォントファイルを放り込みます。appの下にassetsディレクトリを作り、さらにその中にfontsディレクトリを作ります。この中に適用したいフォントのファイルを配置します。

あとはActivityのなかでCalligraphyのセットアップをしてあげます。これだけでカスタムフォントが適用されます。便利ですね。

open class BaseActivity: AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        CalligraphyConfig.initDefault(CalligraphyConfig.Builder()
                .setDefaultFontPath("fonts/AozoraMinchoMedium.ttf")
                .setFontAttrId(R.attr.fontPath)
                .build())
    }

    override fun attachBaseContext(newBase: Context?) {
        super.attachBaseContext(CalligraphyContextWrapper.wrap(newBase))
    }
}