2013-07-26 2 views
3

Я переписываю проект, чтобы включить фрагменты для использования на планшетах. Я также решил начать использовать Android Studio с преобразованием. Довольно прямо, но я столкнулся с проблемой довольно простой задачи по настройке пользовательского шрифта.Android Studio - установка пользовательских шрифтов с менеджером активов во фрагменте

Я начал с этим: Custom fonts in android и List of files in assets folder and its subfolders и это Set custom font for Android fragments

В Eclipse моего класса расширенной активность, и я сделал следующее в OnCreate без проблем (Имея каталог и файл «активы/FUT_R.. TTF ")

TextView tv=(TextView)findViewById(R.id.someTextView); 
Typeface font = Typeface.createFromAsset(getAssets(), "FUT_R.ttf"); 
tv.setTypeface(font); 

теперь пытается преобразовать эту активность к ActionBarActivity (фрагмент с библиотекой поддержки V7), и я изменил код выше этого. (Где view является завышенным макет с одной Framelayout для телефонов)

TextView tv=(TextView) view.findViewById(R.id.someTextView); 
Typeface font = Typeface.createFromAsset(getActivity().getAssets(), "FUT_R.ttf"); 
tv.setTypeface(font); 

и он выходит из строя во время работы с прекрасной java.lang.RuntimeException: native typeface cannot be made, даже если я создал и каталог 'активов от моего нового проекта с FUT_R.ttf в корне ,

Для подтверждения управляющего активами я попробовал этот код:

String[] f = null; 
       try { 
        f = getActivity().getAssets().list(""); 
       } 
       catch (IOException e){ 
        e.printStackTrace(); 
       } 
       for(String f1:f){ 
        Log.i("names",f1); 
       } 

И получил следующий вывод:

07-26 07:40:40.134 2114-2114/com.myapp I/names: images 
07-26 07:40:40.134 2114-2114/com.myapp I/names: sounds 
07-26 07:40:40.134 2114-2114/com.myapp I/names: webkit 

Я запутался, потому что нет, где в каталоге моего "активов или проекта не делают У меня есть эти файлы и/или каталоги. Очевидно, что ошибка заключается в том, что система не может найти мой файл шрифта. ЧТО Я ДЕЛАЮ НЕ ТАК? Любое направление было бы очень благодарным, я потратил слишком много времени на эту глупую проблему.

Спасибо!

ответ

13

я, наконец, наткнулся на это: Load a simple text file in Android Studio

который указывает папку активов в Android Studio, по-видимому была изменена. Вместо обычного расположения в корневой папке приложения (тот же уровень, что и libs, src, ect) он должен быть создан под yourapp/src/main/assets. Надеюсь, это поможет кому-то другому. Я потратил много времени на это!

+0

Спасибо за это. Спасло мне кучу времени! –

Смежные вопросы