2010-09-09 99 views
7

我想在android中使用自定义字体。我已经编写了如下所示的Java代码。Android中的自定义字体问题

TextView txt = (TextView) findViewById(R.id.customfont); 
Typeface font = Typeface.createFromAsset(getAssets(), "fonts/Molot.otf"); 
txt.setTypeface(font); 

,我已经保存在“./assets/fonts/”文件夹中的自定义字体。

但是,我在第3行得到了nullpointerexception。

有人可以给我这个问题的解决方案吗?谢谢

回答

7

Android支持only TTF字体类型not OTF。查看此链接

"RuntimeException: native typeface cannot be made" when loading font

+1

非常感谢!但我甚至尝试使用.ttf,但它仍然无法正常工作...仍然会抛出相同的异常 – RATTLESNAKE 2010-09-09 07:53:43

+0

请注意,您输入的字体名称区分大小写。如果你仍然坚持,我可能认为它应该是你使用的字体文件的问题。尝试下载一个不同的字体TTF文件并加载它。快速搜索后,我发现这个网站可以将OTF转换为TTF。可能是你可以试试http://onlinefontconverter.com/ – DeRagan 2010-09-09 09:30:38

+0

你也可以检查这个帖子,它有一个与之相关的示例项目... http://stackoverflow.com/questions/3203694 – DeRagan 2010-09-09 09:41:40

1

Android也支持OTF。您的字体可能已损坏。

从www.exljbris.com/delicious.html下载美味字体。这是一种OTF字体,适用于我。

0

试试这个
Typeface font = Typeface.createFromAsset(getAssets(), "/fonts/Molot.otf");