Android:实现字体时出错
我正在制作一个应用程序,在这个应用程序中,我的类扩展了Android:实现字体时出错,android,typeface,Android,Typeface,我正在制作一个应用程序,在这个应用程序中,我的类扩展了RelativeLayout并实现了OnClickListener,但我的问题是我无法设置字体,因为它给出了异常 public class Viewnew extends RelativeLayout implements OnPageChangeListener { Context mContext; 当我使用 Typeface tf=Typeface.createFromAsset(mContext.getAssets(), "font
RelativeLayout
并实现了OnClickListener
,但我的问题是我无法设置字体
,因为它给出了异常
public class Viewnew extends RelativeLayout implements OnPageChangeListener {
Context mContext;
当我使用
Typeface tf=Typeface.createFromAsset(mContext.getAssets(), "fonts/trbuc.ttf");
我在mContext
收到异常,异常如下:
E/AndroidRuntime(15203): Caused by: java.lang.RuntimeException: native typeface cannot be made
E/AndroidRuntime(15203): at android.graphics.Typeface.<init>(Typeface.java:240)
E/AndroidRuntime(15203):at android.graphics.Typeface.createFromAsset(Typeface.java:214)
E/AndroidRuntime(15203):原因:java.lang.RuntimeException:无法生成本机字体
E/AndroidRuntime(15203):在android.graphics.Typeface.(Typeface.java:240)
E/AndroidRuntime(15203):在android.graphics.Typeface.createFromAsset(Typeface.java:214)上
更改为
Typeface tf=Typeface.createFromAsset(getContext().getAssets(), "fonts/trbuc.ttf");
上下文显然不是问题所在,因为这不是空指针
问题是您指定的字体文件。首先,检查路径是否正确。如果是,请尝试加载其他字体文件,看看是否有效。Android无法加载所有字体。它很挑剔。如果你能找到类似的字体,试试看。我希望这最终对您有用。请使用以下代码
// Font path
String fontPath = "fonts/trbuc.ttf";
// text view label
TextView txtGhost = (TextView) findViewById(R.id.mTxtViewCustomFont);
// Loading Font Face
Typeface tf = Typeface.createFromAsset(mContext.getAssets(), fontPath);
// Applying font
txtGhost.setTypeface(tf);
我用.otf代替了.ttf,效果很好。感谢大家的帮助添加完整的logcat,不仅仅是行。您是否使用
CustomAdapter
类实现typeface
?乍一看,我猜您在初始化自定义关系布局时没有正确设置mContext
,因此,请检查它是否正常。get Assets无法使用相对布局,因为我的类扩展了相对性。请提供完整的活动代码或类代码,并尝试我编辑的答案。