在棒棒糖上找不到字体资产helvetica.ttf

由于某种原因棒棒糖,我得到这个错误,因为棒棒糖是如此新,我不明白为什么在任何地方,我不知道如何弄清楚。 在此先感谢Logcat错误:

java.lang.RuntimeException: Unable to start activity ComponentInfo{com.bent.MissionaryTracker/com.bent.MissionaryTracker.MainActivity}: java.lang.RuntimeException: Font asset not found helvetica.ttf at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2298) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2360) at android.app.ActivityThread.access$800(ActivityThread.java:144) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1278) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:135) at android.app.ActivityThread.main(ActivityThread.java:5221) at java.lang.reflect.Method.invoke(Native Method) at java.lang.reflect.Method.invoke(Method.java:372) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694) Caused by: java.lang.RuntimeException: Font asset not found helvetica.ttf at android.graphics.Typeface.createFromAsset(Typeface.java:190) at com.bent.MissionaryTracker.MainActivity.onCreate(MainActivity.java:57) at android.app.Activity.performCreate(Activity.java:5933) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1105) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2251) ... 10 more 

编辑:这是错误的代码

  title = (TextView) findViewById(R.id.title); Typeface font = Typeface.createFromAsset(getAssets(), "helvetica.ttf"); title.setTypeface(font); 

我在我的项目文件夹中的资产文件夹中有helvetica.ttf。

编辑:这个应用程序适用于所有设备,直到5.0,所以出于某种原因5.0不认识我的资产文件夹中的文件。

我试图张贴在我的资产文件夹的截图,但我没有足够的声誉发布图像。

Solutions Collecting From Web of "在棒棒糖上找不到字体资产helvetica.ttf"

如果你正在Android Studio上工作,请确保你的资产文件夹是在主要的,而不是水库这工作对我来说

在我意识到没有在.otf文件之前放入“字体/”之前,我也遇到了这个问题

  Typeface font = Typeface.createFromAsset(getAssets(),"fonts/TTMastersDEMOBlack.ttf"); 

这对我有效。 在我的情况下,它没有工作,因为我在res中创build资产文件夹,而不是主要的。

在这里输入图像说明

如果更改目录不起作用,可能是由于Android团队已经解决了一个问题,但没有及时为5.0。 这里都解释了:

https://code.google.com/p/android-developer-preview/issues/detail?id=608&thanks=608&ts=1404735239

解决方法(至less对我来说)是用链接问题中提到的TTX修复字体文件。

如果你没有python专业知识,那么让TTX工作可能会有点麻烦,所以我最终下载了包含TTX的Adobe AFDKO 。 您必须运行“ttx yourfontfile.ttf”,将您的文件转换为.ttx,然后再次运行“ttx yourfontfile.ttx”以获得可与5.0一起使用的新.ttf文件。

只需在主目录中放置资源文件夹即可。 做完这些之后:

  Typeface typeface=Typeface.createFromAsset(getAssets(),"OpenSans-Light.ttf"); textView.setTypeface(typeface); 

我之前面对过这个问题。 我删除了x.ttf,然后取消了删除操作,试图无锁地运行。 所以我的修复只是删除它,并再次下载字体,并将其粘贴到字体/文件夹,每件事情都很好。

清理项目,它帮助我在Android 6.0上

好了朋友们,

我遇到了同样的问题。 首先,我做了我的字体加载逻辑崩溃的certificate:

 /** * Init method. This method must be called before any other call in this class. */ public static void init () { fontPlain = createFont( "helvetica.ttf" , Typeface.NORMAL ); fontBold = createFont( "helveticab.ttf", Typeface.BOLD ); } /** * Load font from assets font folder. */ public static Typeface createFont (String font, int style) { Typeface typeface; try { AssetManager assets = Kit.getAppContext().getAssets(); typeface = Typeface.createFromAsset( assets, "fonts" + File.separator + font ); } catch (RuntimeException e) { // createFromAsset() will throw a RuntimeException in case of error. Log.e( Constants.TAG, "Unable to create font: " + font, e ); typeface = Typeface.defaultFromStyle( style ); } return typeface; } 

然后我也在git中从这个项目中下载了另一种字体:

https://github.com/dimanchec3/Tutoriapps-Android/blob/master/assets/Helvetica.ttf

我意识到我的旧字体是56KB,而这个新字体是84KB。 我想我有一个旧版本的字体。

使用此字体之前,请确保您有适当的许可证。