我的代码中有一个巨大的问题,其中我assets\fonts\
从自定义TextView
类中加载我的文件夹中的字体。第一个问题是它在 4.0 设备上崩溃,但除外Caused by: java.lang.RuntimeException: native typeface cannot be made
。我在这里使用与该方法相同的过程:
public class MyTextView extends TextView {
public MyTextView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
public MyTextView(Context context, AttributeSet attrs) {
super(context, attrs);
}
public MyTextView(Context context) {
super(context);
}
public void setTypeface(Typeface tf, int style) {
if (style == Typeface.BOLD) {
super.setTypeface(Typeface.createFromAsset(
getContext().getAssets(), "fonts/hirakakupronbold.ttf"));
} else if (style == Typeface.ITALIC) {
super.setTypeface(Typeface.createFromAsset(
getContext().getAssets(), "fonts/hirakakupronitalic.ttf"));
} else {
super.setTypeface(Typeface.createFromAsset(
getContext().getAssets(), "fonts/hirakakupron.ttf"));
}
}
}
请注意,我正在使用扩展名.ttf
,我发现这是导致RunTimeException
. 所以我用扩展名转换了各自的字体,现在它已经在 4.0 设备上运行了,但是这里.otf
有内存泄漏。这里有解决方法,但我不知道如何使用/调用它。任何帮助都可以,谢谢。