Получаю ошибку "имя файла должно заканчиваться.xml "при использовании" android: fontFamily " Android O?

Android O вводит новую функцию, шрифты в XML, которая позволяет использовать шрифты в качестве ресурсов. И я создаю font папка в файле ресурсов, как это предусмотрено Android разработчик, но проблема в том, что я получаю ошибку, что file name must end with .xml при использовании font папка, которая предоставляется в выпуске Android O.

пожалуйста, проверьте ниже макет для него.

 <TextView
   android:id="@+id/txtMsgCount"
   android:layout_width="wrap_content"
   android:layout_height="16dp"
   android:background="@drawable/msg_count"
   android:gravity="center"
   android:text="123"
   android:fontFamily="@font/Montserrat_Regular" ////IT IS MY FONT STYLE
   android:textColor="@android:color/white"
   android:textSize="10sp" />

и, пожалуйста, проверьте font папка, которую я создал в res с

My font folder with font style

я получаю следующую ошибку при использовании вышеизложенного, которые заключаются в следующем:

Error getting

я искал об этом, но не получил ожидаемого результата, пожалуйста, проверьте:

1. Первая Ссылка
2. Второе Звено
3. Третья Ссылка
4. Далее Ссылка

и Font resource file не создает, поскольку я нажимаю Right-click the font folder and go to New > Font resource file. Но не вариант Font resource file, пожалуйста, проверьте ниже:

enter image description here

7 ответов


ресурсы шрифтов не полностью поддерживаются цепочкой сборки Android Studio 2.3.3. Полная поддержка поставляется с Android Studio 3.0 (В настоящее время доступна только на Канарском канале) и связанным с ним плагином Android для версии Gradle.

IOW, воздержитесь от этого, пока вы не будете готовы к обновлению до Android Studio 3.0.

(кстати, когда вы видите ссылки на "Android Studio 2.4", который был переименован в Android Studio 3.0 несколько месяцев назад)


Я потерял час на этой ошибке, используя как 3.0 beta2, Gradle 4.x и правильные инструменты сборки.

получилось у меня скопировать шрифты в папку "шрифты". Эта папка не отображается в представлении проекта Android. И, прочитав ошибку, я не уловил "с". Просто небольшое напоминание для читателей!


Android Studio 2.4 включает в себя поддержку всех новых функций разработчика, доступных с Android O вам нужно обновить studio

и создать XML-файла

1) Щелкните правой кнопкой мыши папку font и выберите Создать > файл ресурсов шрифта. Откроется окно новый файл ресурсов.

2) Введите имя файла и нажмите кнопку ОК. В Редакторе откроется новый 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/Montserrat_Regular.otf" />

</font-family>

У меня была такая же проблема, и во время поиска ответа я пришел сюда по этой теме. Я нашел решение от deverloper.android.com.

  1. щелкните правой кнопкой мыши папку " res " в Android Studio

  2. выберите "новый" > "каталог ресурсов Android"

  3. назовите его 'шрифт'

  4. здесь вы должны разместить свой шрифт (.ТТФ) файлы С a-z 0-9 и _ символов.

  5. установить шрифт (мой называется ' alegreyaregular.ttf') таким образом:

Typeface typeface = ResourcesCompat.getFont(this, R.font.alegreyaregular);
TextView textView.setTypeface(typeface);

у меня была точно такая же ошибка имя файла должно заканчиваться .в XML я использовал эти настройки и проблема волшебным образом решена.

используйте эти настройки на уровне проекта Gradle:

compileSdkVersion 26
buildToolsVersion "26.0.2"
defaultConfig {
    applicationId "com.company.app"
    minSdkVersion 21
    targetSdkVersion 26
...
}

используйте эти настройки в Gradle уровня приложения:

classpath 'com.android.tools.build:gradle:3.0.1'

Stidio Для Android :

Android studio version 3.0.1.

Ура!


Я столкнулся с той же проблемой!! Просто обновите свою сборку.файл gradle для решения вышеуказанной проблемы.

classpath ' com.андроид.инструменты.сборка: gradle:3.0.1'

compileSdkVersion 26

buildToolsVersion '26.0.3'

обновите AndroidStudio до последней версии.

хорошего вам дня.


шрифты будут идти в папке asset. Щелкните правой кнопкой мыши папку приложения в вашей студии - > создать - > Папка - > папка активов, и сделать папку шрифта в папке активов