Intereting Posts
Как создать набор атрибутов из style.xml? Структура проекта Android Studio не отображается должным образом Имеет ли Android какой-либо API для предоставления даты-времени в качестве ввода от пользователя (startActivityForResult)? Показать предыдущий фрагмент Поток аудио на телефонный звонок Android Android Studio: модуль не появится в «Редактирование конфигурации» Действительно ли невозможно защитить приложения Android от обратной инженерии? Разработка пользовательских подклассов Android ViewGroup Общие предпочтения? Javax.crypto.BadPaddingException: блок pad поврежден только на некоторых устройствах Библиотека Android STFP Как группировать элементы из базы данных и отображать их – Android Шифровать базу данных SQLite без увеличения размера приложения? Как интегрировать сканер штрих-кода Zxing без установки реального приложения zxing (невозможно разрешить символ: .android.CaptureActivity)? USTL или STLPort для Android? Как заставить Google Voice постоянно работать в фоновом режиме на Android

RuntimeException: родной шрифт не может быть выполнен

Я пытаюсь использовать пользовательский шрифт для элементов списка. Поэтому в моем конструкторе ListViewAdapter у меня есть:

private Context context; private List<Project> projects; private Typeface tf; public ListViewAdapter(Context context, int resource, List<Project> projects) { super(context, resource, projects); this.context = context; this.projects = projects; tf = getTypefaceForListItems(); } public Typeface getTypefaceForListItems() { return Typeface.createFromAsset(context.getAssets(), "fonts/OpenSans-Regular.ttf"); } 

В методе getView я применяю этот шрифт к текстовому виду. Проблема в том, что я получаю исключение Runtime: родной шрифт не может быть создан, и я не понимаю, что кажется проблемой.

Вот стек:

 java.lang.RuntimeException: native typeface cannot be made at android.graphics.Typeface.<init>(Typeface.java:175) at android.graphics.Typeface.createFromAsset(Typeface.java:149) at com.maxcode.clientcheck.ProjectListAdapter.getTypefaceForListItems(ProjectListAdapter.java:41) at com.maxcode.clientcheck.ProjectListAdapter.<init>(ProjectListAdapter.java:25) at com.maxcode.clientcheck.ProjectListActivity$GetProjectsAsyncTask.onPostExecute(ProjectListActivity.java:154) at com.maxcode.clientcheck.ProjectListActivity$GetProjectsAsyncTask.onPostExecute(ProjectListActivity.java:91) at android.os.AsyncTask.finish(AsyncTask.java:631) at android.os.AsyncTask.access$600(AsyncTask.java:177) at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:644) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:137) at android.app.ActivityThread.main(ActivityThread.java:4745) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:511) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553) at dalvik.system.NativeStart.main(Native Method) 

Также я хотел упомянуть, что все мои шрифты находятся в папке src / main / assests / fonts.

Solutions Collecting From Web of "RuntimeException: родной шрифт не может быть выполнен"

Одна из проблем, которые не учитываются (пользователями Android Studio), заключается в том, что папка «assets /» не находится на том же уровне, что и «src /». Это INSIDE "src / main /"

Поскольку я не видел этого раньше, я провел два часа прошлой ночью, а час этим утром просто пытался изменить шрифт в своем навигационном ящике.

Я считаю, что это та же самая причина, почему библиотеки pixlUI и каллиграфии не работали для меня.

Я делаю свои шрифты следующим образом: (Я объявляю их в своей главной функции)

 public static TypeFace FONT_HEADINGS; 

Затем я установил их в onCreate ()

 FONT_HEADINGS = Typeface.createFromAsset(this.getAssets(), "MyriadPro-Cond.otf"); 

На этом этапе я могу ссылаться на них во всем приложении:

 sampleTextView.setTypeFace(MainActivity.FONT_HEADINGS); 

Редактировать:

"SRC / основные / assests / шрифты"

Папка «активы» не должна находиться в папке «src». Он находится на том же уровне, что и src, res и т. Д.

OpenSans-Regular.ttf должен находиться под папкой шрифтов.

Структура папки должна быть такой:

Assets-> шрифты -> OpenSans-Regular.ttf

 i think by mistake you have added under assets folder