Android Studio中的资产文件夹是什么?

24

我想使用自定义字体,已经了解到应该将字体放在assets/fonts中。我正在使用Android Studio,但是似乎没有assets文件夹。因此,我创建了一个assets文件夹。但是当我把assets文件夹放在src/main中时,我的应用程序会崩溃。我正在使用以下代码来加载我的字体。

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

myDeviceModelTxt.setTypeface(fontRegular);

我做错了什么?


2
我把我的字体文件放在 Project/Module/src/main/assets/fonts 目录下。 - hoss
可能是在Android Studio中放置Assets文件夹的位置的重复问题。 - Prince
请查看此链接:https://dev59.com/tF8d5IYBdhLWcg3wiip9#35865160 - Zar E Ahmer
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)会阻止字体正确地被垃圾回收。使用单例!


13

创建Assets文件夹:右键单击app->>新建->>文件夹->>Assets。如下图所示:

enter image description here

只需复制粘贴即可将字体放入此文件夹中,以下是示例代码:

Typeface tf = Typeface.createFromAsset(getContext().getAssets(), "YourFontName.ttf");
setTypeface(tf);

0

只需按照这条路径:

File > New > folder > assets Folder

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

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


-1

资产文件夹应放置在项目的根目录下。 请参见此处以获取更多示例。


2
请根据此帖子进行操作:https://dev59.com/TmMl5IYBdhLWcg3wkXpx - Jojo
1
奇怪。我需要检查这个东西。要么是Google增强了getAssets以在根目录和src/main下搜索,要么是你提供的帖子有缺失。我会检查并更新。 - Lior Ohana
1
@LiorOhana,那篇帖子似乎是指Eclipse而不是Android Studio。 - pconcepcion

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接