Я использовал FontAwesome для значков в своем приложении. В частности, в некоторых TextView. Поскольку я хочу, чтобы в некоторых определенных текстовых представлениях я создал пользовательский текстовый вид.Значки FontAwesome не отображаются в Android-приложении [FIXED]
public class FontAwesomeTextView extends TextView {
public FontAwesomeTextView(Context context) {
super(context);
}
public FontAwesomeTextView(Context context, AttributeSet attributeSet) {
super(context, attributeSet);
}
public FontAwesomeTextView(Context context, AttributeSet attributeSet, int style) {
super(context, attributeSet, style);
}
@Override
public void setTypeface(Typeface tf, int style) {
String fontPath = "fonts/fontawesome.ttf";
Typeface typeFace = Typeface.createFromAsset(getContext().getAssets(), fontPath);
this.setTypeface(typeFace);
}
}
Когда я использую это и добавить значок Закрыть, он получает отображается совершенно на Genymotion эмулятора с API 18, но когда я запускаю приложение на свой телефон с API 21, они не получают отображаться неправильно или его отображает кресты.
В чем причина этой ошибки? Какие-нибудь исправления? Заранее спасибо.
Примечание Проблема была с API. Известно, что у Android 5.0.x есть эта проблема. Как упоминается ниже, исправьте это, преобразов TTf в OTF. (Возможно, в некоторых ситуациях не работает.) Известно, что Android 5.1.x исправил это.
Можете ли вы отправить код, где вы устанавливаете шрифт/текст? Правильно ли отображаются значки на изображении Genymotion, работающем с Api 18? – fractalwrench
@fractalwrench Привет, я нашел исправление. Это опубликовано как ответ ниже. Спасибо хоть. :) –