【发布时间】:2014-06-16 16:47:57
【问题描述】:
我尝试在 TextView 中设置自定义字体。
因此,我将 otf 文件复制到 /src/main/assets/fonts 中,并将以下部分添加到我在 Activity 中的 onCreate 中:
TextView tv = (TextView) findViewById(R.id.profil_fullname);
Typeface tf = Typeface.createFromAsset(getAssets(), "fonts/MavenProLight-100.otf");
tv.setTypeface(tf);
但它不起作用。我没有收到任何错误,应用程序可以正常工作,但字体不是预期的字体。我必须将资产文件夹添加到我的 build.gradle 吗?!
EDIT1:
我将字体名称更改为 MavenProLight.tff(我还将它转换为 truetype 字体)。此外,我将其移至src/main/assets 并再次构建它。到目前为止没有任何变化,Logcat 不包含任何问题特定的警告或调试信息。
EDIT2: 我发现了问题!我将设计用作片段中的布局。因此 Activity 的 onCreate 永远不会被调用。查看此页面了解更多信息:Set custom font for Android fragments
【问题讨论】:
-
Android 可能无法读取此类文件并从中创建字体。见stackoverflow.com/a/1430320/1207921
-
将其转换为 truetype 字体 (.ttf)
-
同意,Android 可能由于某种原因无法读取您的字体。在 LogCat 中查找消息,可能处于调试或警告级别。
标签: android fonts android-activity