2016-04-14 121 views
0

我使用的Android Studio和我有以下代码:Android Studio中的资产Fonts文件夹

Typeface customTypeface = Typeface.createFromAsset(getAssets(), "micra.ttf"); 

当我.ttf文件是资产的文件夹下,这完全执行。但是,当我做一个文件夹assets/fonts,移动.ttf文件到该文件夹​​,并尝试下面的代码:

Typeface customTypeface = Typeface.createFromAsset(getAssets(), "fonts/micra.ttf"); 

应用程序崩溃。

这里有什么问题?我应该用其他东西替换/符号吗?我的资产文件夹位于app/src/main下。

+2

“的应用程序崩溃” - 用的logcat来检查你的崩溃相关的Java堆栈跟踪:HTTPS:/ /stackoverflow.com/questions/23353173/uncomfort-myapp-has-stopped-how-can-i-solve-this – CommonsWare

+0

发布崩溃报告! – Kathi

回答

3

这对我来说很好。我从上下文中使用getActivity()上下文getAssets()

Typeface tfBold = Typeface.createFromAsset(getActivity().getAssets(), 
       "fonts/EntangledPlain.ttf"); 

我的文件夹结构是这样的 enter image description here

+0

哇......我添加了'.this'这个'.getAssets()',正如你所展示的那样,它的工作原理!谢谢!你能否解释为什么没有'.this'这个工具? –

+0

因为我们需要资产文件夹的上下文,否则它不知道我们的资产文件夹在哪里。如果它有助于接受答案。 – Kathi

相关问题