在我正在构建的应用程序中,我想使用标准的Apple字体:Myriad Pro。为此,我尝试了使用自定义字体的常规方法:
Typeface myriadPro = Typeface.createFromAsset(getAssets(), "fonts/myriad_pro.ttf");
安卓有时会遇到与here所述字体有关的问题的解决方法:
public class Typefaces {
private static final String TAG = "Typefaces";
private static final Hashtable<String, Typeface> cache = new Hashtable<String, Typeface>();
public static Typeface get(Context c, String assetPath) {
synchronized (cache) {
if (!cache.containsKey(assetPath)) {
try {
Typeface t = Typeface.createFromAsset(c.getAssets(),
assetPath);
cache.put(assetPath, t);
} catch (Exception e) {
Log.e(TAG, "Could not get typeface '" + assetPath
+ "' because " + e.getMessage());
return null;
}
}
return cache.get(assetPath);
}
}
}
我已尝试使用OTF和字体的TTF版本的两种方法。这些变化都不起作用。在所有情况下,我都会收到native typeface cannot be made
错误(即找不到字体),即使字体位于正确的位置并且名称正确。
任何想法仍然会导致此错误发生?
答案 0 :(得分:1)
我遇到了同样的问题。
转到AndroidManifest.xml。
minSdkVersion
必须为10或更高。