web-dev-qa-db-ja.com

フォントリソースIDから書体を作成する

Typeface.createFromAsset(getAssets(),"font/myfont.ttf"));を使用してみました

フォントディレクトリはアセットにあるべきですが、私の場合、既存のフォントリソースディレクトリがあるため、アセットマネージャはフォントリソースディレクトリから読み取ると思っていましたが、間違っていました。書体を作成して、collapsingToolbarLayoutのカスタムフォントを設定しています。

この回答 が見つかりましたが、フォントをアセットに保持する必要があります

28
sziraqui

これは働いた

Typeface typeface = ResourcesCompat.getFont(this, R.font.app_font);

@Eselfarによるチュートリアルリンクでこれを見つけました

66
sziraqui

アセットフォルダーに保存されているフォントからTypeFaceを作成する場合、

enter image description here

ディレクトリを定義する必要はなく、フォントの名前だけを定義します。

Typeface typeface =  Typeface.createFromAsset(getAssets(),"app_font.ttf");

次のように/fontフォルダーに保存されているフォントのリソースIDを使用して、書体を作成できます。

Typeface typeface = ResourcesCompat.getFont(this, R.font.app_font);

フォントは/fontディレクトリに保存する必要があります

enter image description here

13
Jorgesys