2013-10-07 124 views
24

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

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

myDeviceModelTxt.setTypeface(fontRegular); 

我在做什么错?

+2

我把矿项目/模块/ src目录/主/资产/字体 – hoss

+0

可能重复[凡将在Android Studio中资产的文件夹(HTTP://计算器。 com/questions/18302603/where-to-place-assets-folder-in-android-studio) – Prince

+0

请参阅http://stackoverflow.com/a/35865160/3496570 – Nepster

回答

53

我不知道是否已经有任何bug修复,因为这被问过,但我使用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)。使用单身!

-1

资产文件夹应放置在项目的根目录下。 更多示例请参阅here

+2

不能按照这篇文章http://stackoverflow.com/questions/18302603/where-to-place-assets-folder-in-android-studio – Jojo

+1

奇怪。我需要检查这些东西。谷歌增强了getAssets以在根目录和src/main下搜索,或者你发布的帖子丢失了一些东西。我会检查并更新。 –

+1

@LiorOhana该帖子似乎指的是日食,而不是Android Studio – pconcepcion

0

简单地沿着这条道路:

File > New > folder > assets Folder 

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

欲了解更多信息,请参阅this answer

12

创建assets文件夹右键单击应用程序 - >>新 - >>文件夹 - >> AssetsFolder像下面的图像

enter image description here

把你的字体这个文件夹中通过复制和粘贴。并使用下面的示例代码..

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

这是正确的anwser – allemattio

相关问题