2016-11-10 7 views
0

Как видно из названия, файл шрифта, похоже, не найден. цитирую ошибку:Java.Lang.RuntimeException: Атрибут шрифта не найден

Unhandled Exception:

Java.Lang.RuntimeException: Font asset not found fontawesome-webfont.ttf"

Код является:

public class MainActivity : Activity 
{ 
    protected override void OnCreate(Bundle bundle) 
    { 
     base.OnCreate(bundle); 

     SetContentView(Resource.Layout.Main); 

     AssetManager assets = this.Assets; 
     Typeface font = Typeface.CreateFromAsset(assets, "fontawesome-webfont.ttf"); 

     // Set our view from the "main" layout resource 
     Button button = (Button)FindViewById(Resource.Id.btnIniciarSesion); 
     button.SetTypeface(font, TypefaceStyle.Normal); 

     // Get our button from the layout resource, 
     // and attach an event to it 
    } 
} 

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

font file inside assets folder

Что я могу попробовать?

+1

ли Сложение шрифт Action установлен AndroidAsset? Другая проблема может заключаться в том, что способ ввода шрифта на самом деле не может быть именем содержащегося шрифта. Например, я использую шрифт Segoe в своих приложениях Xamarin, а шрифт UISegoe с именем находится в UISegoeRegular.ttf. Вы можете понять это, открыв шрифт в средстве просмотра шрифтов, например http://us.fontviewer.de/ – BrewMate

+0

@BrewMate. Я попытался с вашим предложением и не работал. По умолчанию функция создания шрифта была установлена ​​в AndroidAsset. Поэтому я попробовал с именем шрифта, как показано в средстве просмотра шрифтов («FontAwesome»), и проблема сохраняется. –

+1

Я делаю это в своем коде, и это работает для меня: 'Typeface font = Typeface.CreateFromAsset (" SegoeUI "," SegoeUIRegular.ttf ");' – BrewMate

ответ

1

Попробуйте это,

Typeface font = Typeface.createFromAsset(getContext().getAssets(), "fontawesome-webfont.ttf"); 
+0

"CS0103 \t Имя 'getContext' не существует в текущем контексте " –

0

Я удалил и создал еще раз решение, и проблема имеет «волшебно» исчез.

0

вы должны установить в «fontawesome-webfont.ttf» свойства файла -> создать Действие и выберите AndroidAsset

0

попробуйте эту инструкцию он работает для меня

Typeface oswaldFont = Typeface.CreateFromAsset(Assets, "Oswald.ttf"); 

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

  • Нет связанных вопросов^_^