しらいとブログ

ネットで検索してもなかなか出てこないIT情報を独自にまとめています

Androidの文字サイズで使われるspの倍率

Androidアプリの開発者なら文字サイズを指定する際に単位にspを使うべきだという話は聞いたことがあると思います。spで指定しておくと、OSで設定された倍率が自動的に掛かるからです。

Android 4.0以降だとOSの文字サイズは「設定→ディスプレイ→フォントサイズ」で変えられます。
(機種によって呼び方が違うかもしれません。)

文字サイズの設定と倍率の対応は次のようになっています。

設定 倍率
小(Small) 1 sp = 0.85 dp
中(Normal) 1 sp = 1 dp
大(Large) 1 sp = 1.15 dp
極大(Huge) 1 sp = 1.3 dp

(これらの値は機種やOSのバージョンによって異なるかもしれません。)

textSizeをspで指定する場合はwidthやheightをwrap_contentやmatch_parentにした方が無難です。widthやheightをdpで指定すると倍率によっては、はみ出す可能性があるので、余白も含めて余裕を持たせる必要があります。