无法在我的项目中使用字体:-“错误:文件名必须以.xml结尾”。

9
我想在我的Android项目中添加字体,以便可以通过XML使用它。不幸的是,我收到了以下错误消息:
错误:错误:文件名必须以.xml结尾
我按照官方Android教程的每一步操作,但仍然出现此错误,我无法解决。

Here is this my error


你解决了这个问题还是回退到旧的“资产”文件夹解决方案了吗? - Hack06
好的,我已经完全更新了AndroidStudio和Gradle插件。 - Hack06
2个回答

8

在Drawable文件夹中无法添加font.ttf文件。

您需要在安卓中创建资产文件夹,可以按下面的图像在Android Studio中创建资产文件夹。

enter image description here

在资产文件夹中创建一个字体文件夹,将您的自定义font.ttf文件放入此文件夹中,如下图所示。

enter image description here


4
安卓8.0(API 级别26)引入了一个新功能,即“XML 字体”,可以让您将字体作为资源使用。您可以将字体文件添加到“res/font/”目录下。 - thelearner
@7Learner,您在问题中没有提及API级别26,请阅读此文档https://developer.android.com/guide/topics/ui/look-and-feel/fonts-in-xml.html#using-support-lib。 - AskNilesh
@7Learner,看一下这个链接,可能会对你有所帮助:https://developer.android.com/guide/topics/ui/look-and-feel/fonts-in-xml.html#using-support 和 https://dev59.com/IVcP5IYBdhLWcg3wXI7Z。 - AskNilesh
兄弟!如果你创建资源目录像这样——res ->右键->新建->目录->命名为“assets”。然后,如果你把任何文件放在那个资产文件夹中,你将无法使用资产管理器读取该文件。我花了3个小时才意识到这一点。永远要像res ->右键->新建->文件夹->资产文件夹这样创建它。 - Saurav Mir

0
将字体放入项目中的assets/fonts目录中,
然后在您的代码中获取Typeface:
Typeface myNewTypeface = Typeface.createFromAsset(context.getAssets(), "fonts/the_new_font.ttf");

1
Android 8.0(API级别26)引入了一个新功能,即XML中的字体,它允许您将字体用作资源。您可以将字体文件添加到res/font/目录中。 - thelearner
我没有测试这个新功能。我的应用程序还必须在早期版本的Android中工作,因此我不能使用它。 - from56

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接