我正在创建一个应用程序,我的类扩展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)
答案 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 并且工作正常。感谢所有人的帮助