Android:实现字体时出错

时间:2012-06-13 07:13:08

标签: android typeface

我正在创建一个应用程序,我的类扩展RelativeLayout并实现OnClickListener但我的问题是我无法设置TypeFace,因为它的给定Exception

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)

4 个答案:

答案 0 :(得分:1)

更改为

Typeface tf=Typeface.createFromAsset(getContext().getAssets(), "fonts/trbuc.ttf");

答案 1 :(得分:1)

使用以下代码。

// 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);

答案 2 :(得分:0)

上下文显然不是问题,因为这不是NullPointer。

问题是您指定的字体文件。首先,检查路径是否正确。如果是,请尝试加载不同的字体文件,看看是否有效。 Android无法加载所有字体。这很挑剔。所以如果你能找到类似的字体,试试吧。我希望这最终能为你效劳。

答案 3 :(得分:0)

我使用 .otf 代替 .ttf 并且工作正常。感谢所有人的帮助