Android O在新版的Android Studio 3.0中提供了字体目录。但是,当我把字体文件放入字体目录并运行项目时,会出现字体目录中字体文件错误的问题。
/home/ttuser4/Downloads/fontPractice/app/src/main/res/font/Dancing_Script.ttf: 错误:文件名必须以.xml结尾
Android O在新版的Android Studio 3.0中提供了字体目录。但是,当我把字体文件放入字体目录并运行项目时,会出现字体目录中字体文件错误的问题。
/home/ttuser4/Downloads/fontPractice/app/src/main/res/font/Dancing_Script.ttf: 错误:文件名必须以.xml结尾
我也遇到了类似的问题。为了解决这个问题,我按照以下步骤操作:
project-dir/gradle/gradle-wrapper.properties
中更改distributionUrl
为最新的gradle分发URL(您可以从此处获取gradle的最新版本可用性),以更新用于构建的gradle版本,如下所示:
distributionUrl=https://services.gradle.org/distributions/gradle-4.1-milestone-1-all.zip
build.gradle
中将com.android.tools.build:gradle
版本更新为最新版本,如下所示。(注意:下面提到的版本是回答发布时的最新版本。版本可能会在未来更改。因此请注意。)buildscript { repositories { jcenter() maven { url 'https://maven.google.com' } } dependencies { classpath 'com.android.tools.build:gradle:3.0.0-alpha4' } }
allprojects { repositories { jcenter() maven { url 'https://maven.google.com' } } }
task clean(type: Delete) { delete rootProject.buildDir }
对我有用。请在评论中告诉我。
我假设你正在使用较旧的构建工具插件,因此它不知道res/font和新字体功能。
我曾经遇到过同样的问题,我将gradle构建工具更新到2.4.0-alpha7版本,
但是在构建时出现了错误消息,然后我不得不设置环境变量。
launchctl setenv ANDROID_DAILY_OVERRIDE <your-value-on-error-message>
右键单击 res
目录,选择 New > Android Resource Directory
。
选择资源目录“font”。
Error:Execution failed for task ':app:mergeDebugResources'. res/font/Pacifico-Font.ttf: Error: 'P' is not a valid file-based resource name character: File-based resource names must contain only lowercase a-z, 0-9, or underscore
当我将其更改为pacifico.ttf
时,它可以工作。
我在Android Studio 3.0预览版上使用了“pacifico.ttf”字体,按照完全相同的步骤进行操作,对我有效。
如果你遇到任何错误,请先清理项目,然后再次运行它。你可以以任何格式添加字体,但是你必须创建一个Font Family
的XML文件才能在XML布局文件中应用这些字体。字体族是一个包含多个字体文件及其样式和粗细详情的XML文件。你可以将字体族作为一个整体来访问。
要创建一个字体族,在Android Studio中执行以下步骤:
右键单击字体文件夹,然后选择新建 > 字体资源文件。新建资源文件窗口将出现。
输入文件名,然后单击“确定”。新的字体资源 XML 将在编辑器中打开。
将每个字体文件、样式和权重属性封装在 元素中。以下 XML 示例演示了如何在字体资源 XML 中添加与字体相关的属性:
<?xml version="1.0" encoding="utf-8"?>
<font-family xmlns:android="http://schemas.android.com/apk/res/android">
<font
android:fontStyle="normal"
android:fontWeight="400"
android:font="@font/lobster_regular" />
<font
android:fontStyle="italic"
android:fontWeight="400"
android:font="@font/lobster_italic" />
</font-family>
然后,您可以将此字体系列添加到包含文本的布局中的任何元素中。就像在这个例子中应用于TextView
一样。
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="@font/lobster"/>
a...z_.0...9
,包括字体。 - Phantômaxx