Android Studio中的Assets文件夹?

Joj*_*ojo 24 android custom-font typeface android-studio

我试图使用自定义字体,我读过我想将字体放在资产/字体中.我正在使用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);
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

小智 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
Run Code Online (Sandbox Code Playgroud)

然后通过电话获得它

Typeface.createFromAsset(mContext.getResources().getAssets(), "SomeFont.ttc");
Run Code Online (Sandbox Code Playgroud)

但请注意,有一个错误(https://code.google.com/p/android/issues/detail?id=9904)可以防止字体被垃圾收集.使用单身人士!


kun*_*roy 13

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

在此输入图像描述

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

Typeface tf = Typeface.createFromAsset(getContext().getAssets(), "YourFontName.ttf");
setTypeface(tf);
Run Code Online (Sandbox Code Playgroud)