Androidでフォントの使用に関するすべての投稿を読みましたが、私はまだ仕事をすることができません。Androidでフォントを使用することはできません
java.lang.RuntimeException: native typeface cannot be made
はこちら(hereから取られ、このクラスおよび静的メソッド)私のコードです:私は次の例外を取得しています
public class SafeTypefaces {
private static final Hashtable<String, Typeface> cache = new Hashtable<String, Typeface>();
public static Typeface get(Context c) {
final String assetPath = "fonts/robotobold.ttf";
synchronized (cache) {
if (!cache.containsKey(assetPath)) {
try {
AssetManager assetManager = c.getAssets();
Typeface t = Typeface.createFromAsset(assetManager, assetPath); //Throws exception on this line!
cache.put(assetPath, t);
} catch (Exception e) {
L.p("Could not get typeface '" + assetPath + "' because " + e.getMessage());
return null;
}
}
return cache.get(assetPath);
}
}
}
フォントがassets/fonts
のフォルダにあります。
(これはまだEclipseです。私は知っています)。
物事は私が試した:私はassets
フォルダのルートにフォントを移動しassetPath
を更新しようとした
- 。
- フォルダーとファイルのアクセス許可を確認しました。
- 私は取得しているアクティビティコンテキストの代わりにアプリケーションコンテキストを使用しようとしました。
- 別のフォントファイルを使用しようとしました(1つは電子メールで送信し、もう1つはインターネットからダウンロードしました)。
「Gradle + ASを使用していない可能性があります」 - 正しい。 Android Studioや他のGradleベースのAndroidビルドのライブラリモジュールのアセットは、最終的なAPKに含まれています。 – CommonsWare