[Android]カスタムフォントの設定の仕方6ステップ(Calligraphy)

Androidの日本語の標準フォントは、こんな感じの普通のゴシック体(?)ですが、

 

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

 

そんなときに、「Calligraphy」というライブラリを使うと、簡単にカスタムフォントを設定することができます。

 

1.「Calligraphy」のインストール(モジュールレベルの「build.gradle」に依存関係を設定))

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

}

 

2.自分の使いたいフォントのttfファイルを取得(商用フリーのもの)

ここ以外にも色々フォントが入手できるサイトあります(フォント 商用フリーでググってみてください)

2017年用、日本語のフリーフォント260種類のまとめ -商用サイトだけでなく紙や同人誌などの利用も明記

 

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="http://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))
    }

}

 

以上です。

とても簡単な設定でカスタムフォントが使えますので、是非やってみてください。

フォントが変わるだけで、見た目が全然違うアプリになりますよ!!

(詳しくは下の動画で解説していますので、よろしければご覧ください)

アバター

北川 博之(きーぼー)

みんなのプログラミング by Telulu LLC代表 大阪府生まれ。京都大学経済学部経済学科卒業。 2000年より、日本生命保険、ニッセイアセットマネジメント、パトナム・インベストメンツ(米国)で、日本株トレーダー・アナリスト、経営企画、システム開発等の業務に従事。主に日本株の売買執行・投資分析、経営計画の策定、海外投資家向け日本株営業、社内トレーディングシステム及び経理システムの開発等を行う。 2016年、合同会社てるる設立。スマホアプリプログラマーとして「新感覚脳トレアプリ・記憶戦隊オボエルンジャー」「Meisoー1番シンプルなマインドフルネス瞑想アプリ」をはじめとした、メンタルヘルス・知育系アプリを中心に4タイトル・計8本(Android・iOS)をリリース。 2017年、自身のこれまでの社会人経験・プログラミング経験・子育て経験を基に、プログラミングを通じて人々の人生を豊かにして、未来に希望の持てる明るい社会の実現に貢献したいとの想いから、プログラミング完全初心者と挫折経験のある人を支援する「プログラミング挫折撲滅プロジェクト・みんなのプログラミング by Telulu LLC」を設立し、プログラミングサポーター活動と心理カウンセリング活動を開始。これまでに3,000名を超える方のプログラミング挫折撲滅をサポート。

こんな記事も読まれています

みんプロにかける想い

  1. プログラミングはみんなのもの!(プログラミングの醍醐味である「楽しさ」を伝えたい)

  2. トランプ政権2期目に起こるIT業界激震予想(前編:スマホの世界の構造問題に荒療治が行われる可能性)

  3. ぼくが別に言う必要のない挫折の黒歴史をあえてさらけ出している理由(自分の中にある「ブロック」を外すきっかけにしてほしい)

  4. プログラミングは手段の1つに過ぎない(目的は自分のアイデアを形にすること)

  5. トランプ政権2期目に起こるIT業界激震予想(後編:ブロックチェーンによるインターネットの再民主化が行われる可能性)

みんプロ作成アプリ




みんプロ代表の黒歴史


TOP