我将字体文件* .ttf保存在资源中,我想在启动应用程序时将其取回,但我不能这样做。我有以下代码:
final URL fontUrl = getClass().getClassLoader().getResource("/fonts/" + font);
if (fontUrl == null) {
continue;
}
File fontFile = new File(fontUrl.getFile());
System.out.println(fontFile.exists()); // return false
System.out.println(fontFile.length()); // return 0
return fontFile;
如何从资源中获取普通文件?
答案 0 :(得分:1)
您是否已将其放置在资产文件夹中?如果您希望在TextView等中使用它,
Typeface typeface = Utils.getTypeface(context, textStyle);
if (typeface != null) setTypeface(typeface);
,Utils文件中的功能为:
public static Typeface getTypeface(Context context, int textStyle) {
try {
String font = "fonts/font-file-name.ttf"
Typeface myTypeface = Typeface.createFromAsset(context.getAssets(), font);
return myTypeface;
} catch (Exception e) {
Log.d(Constants.TAG, "OpenSansTextView init: ");
e.printStackTrace();
}
return null;
}
我的ttf文件的位置:
app\src\main\assets\fonts\font-file-name.ttf