web-dev-qa-db-ja.com

Androidランタイム例外フォントアセットが見つかりません

これがカスタムフォントタイプフェイスを設定しようとしている私のコードとスクリーンショットですが、フォントファイルがアセットフォルダーにあるときにランタイムアセットが見つからないフォントアセットが発生します。何か不足していますか?

Typeface font = Typeface.createFromAsset(getAssets(), "font/terminal.ttf");
((TextView) findViewById(R.id.weatherHeadingTV)).setTypeface(font);

enter image description herescreenshot of Android studio project

15

正常に動作する別のフォントファイルを試してみたので、以前のフォントファイルが破損していると結論付けます。ありがとう@Miduhun MP、@ Gowtham Raj、@ jagan reddy

1

フォルダ名は'fonts' 'font'でなければなりません

Typeface typeface = Typeface.createFromAsset(getAssets(), "fonts/" + font);
7
Gowtham Raj

フォントアセットフォルダの名前が間違っています。フォルダーの名前はfontsではなくfontにする必要があります。また、コードを変更します。

Typeface font = Typeface.createFromAsset(getAssets(), "fonts/terminal.ttf");
5
Midhun MP
  1. フォルダの名前は「フォント」ではなく「フォント」である必要があります
  2. 「fonts」フォルダは「assets」フォルダの下にあることに注意してください(「res」フォルダではなく「main」フォルダの下にあるはずです)これを理解するには時間がかかりすぎました...
4
Tiferet Cohen

Android Gradleプラグインバージョン2.2.0-alphaXでInstant Runを使用している場合、これは既知のバグです。

回避策は、問題が解決するまでInstant Runをオフにすることです。

ここで追跡できます: https://code.google.com/p/Android/issues/detail?id=212849&can=1&q=subcomponent%3DTools-Studio%20-has%3Aproject%20attachments%3D0&colspec= ID%20Status%20Priority%20Owner%20Summary%20Stars%20Reporter%20Opened&start = 77

3
Laurențiu Onac

この方法を使用してください:

final Typeface typeface = ResourcesCompat.getFont(context, R.font.X);
2
Mr.Hosseini

プロジェクトにアセットがあり、ASのアルファバージョンを使用している場合の一般的なエラー。これは、Androidスタジオビルドシステムのバグのようです。簡単な回避策は、実行する前にプロジェクトをクリーンアップすることです。これにより、直面している問題を解決できます。

2
Jishin Dev

同じ問題があり、なんとか修正できました。もともとフォントファイルは壊れていると思いましたが、壊れていませんでした。次に、Android _ St​​udioは.ttfファイルが動作しない唯一のファイルであるため、嫌いでした。フォントには何も問題がないことが判明しました。

修正:Build > Clean projectをクリックするだけです。すぐに修正しました。

1
Will

Typeface typeface = Typeface.createFromAsset(this.getAssets()、 "font/terminal.ttf");

((TextView)findViewById(R.id.weatherHeadingTV))。setTypeface(typeface);

0
jagan reddy

私にとって、フォントファイル自体が破損していました。私はそれを機能させるために別のものを試しました。

0
Bilal Halayqa

AndroidAnnotationsを使用する場合、アプリのbuild.gradleで、アセットフォルダーに問題がないかどうかを確認します(例:main/src/assets)。

フォントを変更した場合は、デバイス/エミュレータからアプリをアンインストールして、もう一度実行してください。

コード:

public static void setFontFace(Context context, TextView textView) {
  Typeface type = Typeface.createFromAsset(context.getAssets(), "myfont.ttf");
  textView.setTypeface(type);
}
0
Pierry

Android 7+では.woffフォントが受け入れられないという問題がありました。そこで、.ttfフォントに切り替えました。

0
bremen_matt