1

我正在制作一个应用程序,我的类在其中扩展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

4 回答 4

1

改成

Typeface tf=Typeface.createFromAsset(getContext().getAssets(), "fonts/trbuc.ttf");
于 2012-06-13T07:20:31.283 回答
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);
于 2012-06-13T07:24:46.917 回答
0

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

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

于 2012-06-13T07:23:14.997 回答
0

我用.otf代替.ttf并且它起作用了。谢谢大家的帮助

于 2012-06-14T11:45:57.540 回答