Help us understand the problem. What is going on with this article?

Androidで標準以外のフォントを使用する

More than 3 years have passed since last update.

はじめに

TextViewに標準以外のフォントを指定する場合、iOSのようにXcodeでフォントを指定する…といったことができません。
※ Android Oからは利用可能になるようです。

しかし、ライブラリを使うことで簡単に好きなフォントを利用することができます。

手順

  1. フォントファイルの準備
  2. プロジェクトへの追加
  3. ライブラリの準備と導入

1. フォントファイルの準備

好きなフォントを準備してください。例えばNoto Sansは以下から取得します。

2. プロジェクトへの追加

Android StudioのプロジェクトウインドウをProjectビューに切り替えます。app/src/main配下にassetsディレクトリを作成します。さらにfontsディレクトリを作成し、その中に準備したフォントを追加します。

screenshot_2017-06-27_18.46.06.png

3. ライブラリの準備と導入

ライブラリは以下を利用します。
chrisjenx/Calligraphy: Custom fonts in Android the easy way...

具体的な導入はREADME.mdにありますが、簡単に記載します。

ライブラリのインポート

app/build.gradleに以下を追記します。

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

初期化

利用するアクティビティで以下を追記します。

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

TextViewへの指定

layout/sample_text_style.xml
<TextView
    fontPath="fonts/HelveticaNeue.ttf"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="あいうえおあいうえおあいうえおあいうえお"
    />

赤い波線が出てエラーと言われますがDisable Inspectionsしてください。

イメージ

Screenshot_1498564543.png

参考

aluceps
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away