Android

Androidでカスタムフォントを簡単に導入(Caligaphy)

More than 3 years have passed since last update.

先日、弊社(heathrow, Inc)の自社サービスFAVRICA - あらゆるファッション通販サイトをまとめて検索Android版を無事リリースすることが出来ました。

公開を記念して、開発で得たノウハウなどをまとめて公開しております.
FAVRICA Android版公開記念、いろんなノウハウ公開 - Qiita


FAVRICAでは要所、要所にカスタムフォントを導入した、下のようなかっこいいデザインになってます.

Slice 1.png

さて、Androidでのカスタムフォントですが、
Calligraphyというライブラリを使うと、すごく簡単に導入できます.

こんな感じです.

<TextView
    fontPath="fonts/SackersGothicStd-Medium.ttf"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" />

以下、導入方法.

導入方法

1. build.gradleに追加

app/build.gradle
dependencies {
    compile 'uk.co.chrisjenx:calligraphy:2.1.0'
}

2. Applicationで初期化処理

Application.java
public class MyApplication extends Application {

    @override
    public void onCreate() {
        CalligraphyConfig.initDefault(new CalligraphyConfig.Builder()
                .setFontAttrId(R.attr.fontPath)
                .build());
  }
}

3. Activityで設定

Activity.java
public class MyActivity extends Activity {

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

4. カスタムフォントを配置

app/src/main/assetsに配置します.

ちなみにFAVRICAではSackersGothicなるかっこいいフォントを使ってます.

app/src/main/assets/fonts
└── SackersGothicStd-Medium.ttf

5. Viewで設定

<TextView
    fontPath="fonts/SackersGothicStd-Medium.ttf"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" />