使用Android O的XML字体

Aks*_*ngh 8 android android-studio android-8.0-oreo

Android O给新的android-studio版本3.0的字体目录但是当在字体目录中的drop font-file并运行项目时,它在字体目录中的字体文件中给出了一个错误.错误:任务':app:mergeDebugResources'的执行失败.

/home/ttuser4/Downloads/fontPractice/app/src/main/res/font/Dancing_Script.ttf:错误:文件名必须以.xml结尾

Mah*_*rai 12

我也遇到了类似的问题.为了解决这个问题,我按照以下步骤操作

  1. 将Android Studio更新为最新的canary版本.
  2. 改变distributionUrlproject-dir/gradle/gradle-wrapper.properties对最新的gradle这个分发URL(你可以从gradle这个最新的可用性这里)来更新用于建立像下面的版本的Gradle.

    distributionUrl = HTTPS://services.gradle.org/distributions/gradle-4.1-milestone-1-all.zip

  3. 然后com.android.tools.build:gradle将根目录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
}
  1. 同步,清理和更新项目.

它对我有用.请与我们联系.

  • 请注意,如果您不使用Android Studio 3.0,则会失败 (5认同)

jac*_*jay -2

您可以添加任何格式的字体,但您必须创建一个Font Familyxml 文件才能在 xml 布局文件中应用这些字体。字体系列是一个 XML 文件,其中包含多个字体文件及其样式和粗细详细信​​息。您可以将字体系列作为一个单元进行访问。

要创建字体系列,请在 Android Studio 中执行以下步骤:

  1. 右键单击字体文件夹,然后转到新建 > 字体资源文件。将出现“新建资源文件”窗口。

  2. 输入文件名,然后单击“确定”。新字体资源 XML 将在编辑器中打开。

  3. 将每个字体文件、样式和粗细属性包含在元素中。以下 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>
    
    Run Code Online (Sandbox Code Playgroud)

然后,您可以将此字体系列添加到布局中包含文本的任何元素。就像在这个例子中它适用于TextView

<TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:fontFamily="@font/lobster"/>
Run Code Online (Sandbox Code Playgroud)