我试图使用自定义字体,我读过我想将字体放在资源/字体中。我正在使用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);
我做错了什么?
答案 0 :(得分: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)可以防止字体被正确地垃圾收集。使用单身人士!
答案 1 :(得分:13)
创建资产文件夹右键单击app->> new->> Folder->> AssetsFolder如下图所示
只需复制并粘贴即可将您的字体放入此文件夹中。并使用下面的代码例如..
Typeface tf = Typeface.createFromAsset(getContext().getAssets(), "YourFontName.ttf");
setTypeface(tf);
答案 2 :(得分:0)
答案 3 :(得分:-1)
assets资源文件夹应放在项目的根目录下。 有关更多示例,请参阅here。