24

我正在尝试使用自定义字体,并且我读过我想将字体放在资产/字体中。我正在使用 Android Studio,但我似乎没有资产文件夹。所以我创造了一个。但是当我将 assets 文件夹放在 src/main 中时,我的应用程序崩溃了。我使用此代码加载我的字体。

Typeface fontRegular = Typeface.createFromAsset(getAssets(), "fonts/DroidSans.ttf");
Typeface fontBold = Typeface.createFromAsset(getAssets(), "fonts/DroidSans-Bold.ttf");

myDeviceModelTxt.setTypeface(fontRegular);

我究竟做错了什么?

4

4 回答 4

53

我不确定自从被问到是否有任何错误修复,但我正在使用 Android Studio 0.5.2 中的项目的当前结构:

root-module
|--.idea
|--app
|----build
|----src
|------main
|--------assets
|----------SomeFont.ttc
|----------AnotherFont.otf
|--------java
|----------source code here
|--------res
|------AndroidManifest.xml
|----build.gradle

然后通过调用获取它

Typeface.createFromAsset(mContext.getResources().getAssets(), "SomeFont.ttc");

不过请注意,有一个错误 ( https://code.google.com/p/android/issues/detail?id=9904 ) 会阻止字体被正确地垃圾收集。使用单例!

于 2014-03-30T21:22:32.877 回答
13

创建资产文件夹右键单击应用程序->>新建->>文件夹->>资产文件夹,如下图

在此处输入图像描述

只需复制和粘贴即可将您的字体放入此文件夹中。并使用下面的代码例如..

Typeface tf = Typeface.createFromAsset(getContext().getAssets(), "YourFontName.ttf");
setTypeface(tf);
于 2015-11-05T10:45:21.997 回答
0

只需遵循以下路径:

File > New > folder > assets Folder

在创建文件夹之前必须选择此处的应用程序。

有关更多信息,请参阅此答案

于 2015-11-04T18:40:22.167 回答
-1

assets 文件夹应该放在项目的根目录下。有关更多示例,请参见此处

于 2013-10-07T13:16:36.363 回答