#目的
標準フォント以外のフォントを使う
#環境
Android Studio 3.6.1
Build #AI-192.7142.36.36.6241897, built on February 27, 2020
ランタイム・バージョン: 1.8.0_212-release-1586-b04 amd64
VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
Windows 10 10.0
GC: ParNew, ConcurrentMarkSweep
Memory: 1246M
Cores: 4
Registry: ide.new.welcome.screen.force=true
#カスタムフォント使用の手順
###①カスタムフォントを用意
なんでもいいんですが、SourceHanSerifを使っていきます。
SourceHanSerifとは:https://source.typekit.com/source-han-serif/jp/
直ダウンロードリンク:https://github.com/adobe-fonts/source-han-serif/tree/release/OTF/Japanese
###fontフォルダーを追加
resフォルダーを右クリック
>新規
>フォルダー
>フォント・リソース・フォルダー
でfontフォルダーを追加します。
###②カスタムフォントをfontフォルダーに配置
普通にotfファイルをコピペで大丈夫です。
( 使えない文字がファイル名に入っている場合は、
各自修正してください。例えばハイフンとか... )
###③FontFamilyプロパティにカスタムフォントを設定
上の方にProjectというグループができるので、そこからカスタムフォントを選択します。
大まかなカスタムフォント使用の手順は以上になります。
#問題点
フォントにはBaseLineと余白という概念が存在して、実際に設定されています。
標準フォントは一定水準使えるように、BaseLineや余白は綺麗に合わせられています。
ですがカスタムフォントは大抵の場合、フォントごとにバラバラなのでこの問題が出てくるということになります。
実行してみるとどうでしょう。
これは悪なことに、実行してみないと分からないんです。
私はこの問題にやられて何度もリサーチしましたが運悪く、見つからず、「もういい!標準フォントで断念だ」となったとこがありました。
同じ思いをした方が多いのではないかと思い、この記事を書いたのであります。
プロパティをよく見てる人なら気付いたと思いますが、解決方法は簡単です。
#解決方法
★includeFontPaddingプロパティを無効化する。
テキストを扱うViewには大抵、includeFontPaddingプロパティが設けられており、デフォルトではtrueになっています。
includeFontPaddingプロパティは言葉の通りですが、フォントに設定されている余白を含めるかどうかというプロパティになっています。
includeFontPaddingを無効化したら実行して確認してみてください。
以上になります。
参考になった方がいましたら、是非いいねや共有をしてみてください。
ありがとうございました。