Проблема при использовании нестандартного шрифта - «Нельзя сделать нативный шрифт» - PullRequest
49 голосов
/ 23 сентября 2011

Я пытаюсь использовать шрифт, который я нашел в интернете, но проблема в том, что я получаю FC с "родной гарнитурой не получается".

Вот код в getView моегоListVIew:

        holder.tv_SuraName   =(TextView)convertView.findViewById(R.id.Start_Name);
        holder.tv_SuraName.setTypeface(Typeface.createFromAsset(mContext.getAssets(), "suralist_font.ttf"));

Может кто-нибудь сказать мне, почему я могу использовать пользовательский диск?Вы можете получить его ЗДЕСЬ .. файл .ttf

Ответы [ 16 ]

0 голосов
/ 15 октября 2015

Я постоянно отлаживал эту ошибку в Android Studio. Очистка и перестройка проекта после добавления шрифтов в каталог ресурсов исправили проблему для меня.

0 голосов
/ 20 марта 2015

Сначала мне поменяли имя шрифта на строчные и подчеркивания: с Amatic-Sc.ttf до amatic_sc.ttf .

Затем в методе set.TypeFace измените assets / fonts / amatic_sc.ttf на fonts / amatic_sc.ttf .

0 голосов
/ 10 января 2015

Обратите внимание, что это из-за поврежденного файла или вы поместили файл в неправильную папку.

Согласно документации Android здесь

main / assets / Это пусто.Вы можете использовать его для хранения необработанных файлов активов.Файлы, которые вы сохраняете здесь, скомпилированы в файл .apk как есть, и исходное имя файла сохраняется.Вы можете перемещаться по этому каталогу так же, как и в обычной файловой системе, используя URI, и читать файлы как поток байтов, используя AssetManager.Например, это хорошее место для текстур и игровых данных.

Поэтому структура вашей папки должна быть yourmodule / main / assets (например, *** п.п. / основная / активы ***)

0 голосов
/ 17 ноября 2013

У меня была такая же проблема с COMIC.TTF из комиксов без MS Windows.Поскольку исходный файл, который я поместил в папку assets / fonts, был в верхнем регистре, как написано выше, мне пришлось вводить его точно в верхнем регистре.Typeface.createFromAsset (getAssets (), "fonts / COMIC.TTF");

оказывается, что проблема была вызвана нижним регистром: Typeface.createFromAsset (getAssets (), "fonts / comic.ttf");

0 голосов
/ 16 мая 2012

Надеюсь, это поможет

Typeface.createFromAsset пропускает поток активов: http://code.google.com/p/android/issues/detail?id=9904

0 голосов
/ 23 сентября 2011

Как утверждает CommonsWare в этот ответ

Я бы предположил, что существует проблема с самим шрифтом.Эта ошибка будет вызвана, когда собственный код в ОС пытается загрузить гарнитуру.

В любом случае попробуйте это:

holder.tv_SuraName = (TextView)convertView.findViewById(R.id.Start_Name);
Typeface Font = Typeface.createFromAsset(this.getAssets(),"suralist_font.ttf");
holder.tv_SuraName.setTypeface(Font);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...