これがカスタムフォントタイプフェイスを設定しようとしている私のコードとスクリーンショットですが、フォントファイルがアセットフォルダーにあるときにランタイムアセットが見つからないフォントアセットが発生します。何か不足していますか?
Typeface font = Typeface.createFromAsset(getAssets(), "font/terminal.ttf");
((TextView) findViewById(R.id.weatherHeadingTV)).setTypeface(font);
正常に動作する別のフォントファイルを試してみたので、以前のフォントファイルが破損していると結論付けます。ありがとう@Miduhun MP、@ Gowtham Raj、@ jagan reddy
フォルダ名は'fonts' 'font'でなければなりません
Typeface typeface = Typeface.createFromAsset(getAssets(), "fonts/" + font);
フォントアセットフォルダの名前が間違っています。フォルダーの名前はfonts
ではなくfont
にする必要があります。また、コードを変更します。
Typeface font = Typeface.createFromAsset(getAssets(), "fonts/terminal.ttf");
Android Gradleプラグインバージョン2.2.0-alphaXでInstant Runを使用している場合、これは既知のバグです。
回避策は、問題が解決するまでInstant Runをオフにすることです。
この方法を使用してください:
final Typeface typeface = ResourcesCompat.getFont(context, R.font.X);
プロジェクトにアセットがあり、ASのアルファバージョンを使用している場合の一般的なエラー。これは、Androidスタジオビルドシステムのバグのようです。簡単な回避策は、実行する前にプロジェクトをクリーンアップすることです。これにより、直面している問題を解決できます。
同じ問題があり、なんとか修正できました。もともとフォントファイルは壊れていると思いましたが、壊れていませんでした。次に、Android _ Studioは.ttf
ファイルが動作しない唯一のファイルであるため、嫌いでした。フォントには何も問題がないことが判明しました。
修正:Build > Clean project
をクリックするだけです。すぐに修正しました。
Typeface typeface = Typeface.createFromAsset(this.getAssets()、 "font/terminal.ttf");
((TextView)findViewById(R.id.weatherHeadingTV))。setTypeface(typeface);
私にとって、フォントファイル自体が破損していました。私はそれを機能させるために別のものを試しました。
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);
}
Android 7+では.woffフォントが受け入れられないという問題がありました。そこで、.ttfフォントに切り替えました。