Я пытаюсь установить собственный шрифт для всех моих текстовых/EditViews и т. Д. И я последовал за этим вопросом: Is it possible to set a custom font for entire of application?Попробуйте использовать собственный шрифт в приложении throws error
Для этого у меня есть файл .ttf
в assets/Fonts/myFont.ttf
. Для того, чтобы добавить этот Font
всем моим TextViews
я Переопределение TextView-Class
:
public class MyCustomTextView extends TextView {
public MyCustomTextView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
init();
}
public MyCustomTextView(Context context, AttributeSet attrs) {
super(context, attrs);
init();
}
public MyCustomTextView(Context context) {
super(context);
init();
}
private void init() {
Typeface tf = Typeface.createFromAsset(getContext().getAssets(),
"myFont.ttf");
setTypeface(tf);
}
}
Чтобы добавить это к моему TextView я просто в макете:
<com.android.faccess.MyCustomTextView
android:id="@+id/textview"
style="@style/textview" />
Где Стиль:
<style name="textview">
<item name="android:layout_width">fill_parent</item>
<item name="android:layout_height">28dp</item>
<item name="android:layout_gravity">center_horizontal|center_vertical</item>
<item name="android:textSize">20sp</item>
<item name="android:layout_marginLeft">5dp</item>
<item name="android:layout_marginRight">5dp</item>
Ошибка
Я думаю, что мне не хватает чего-то действительно простого. Это LogCat:
12-17 10:16:21.633: E/AndroidRuntime(2094): android.view.InflateException: Binary XML file line #8: Error inflating class com.android.faccess.MyCustomTextView 12-17 10:16:21.633: E/AndroidRuntime(2094): Caused by: java.lang.RuntimeException: native typeface cannot be made 12-17 10:16:21.633: E/AndroidRuntime(2094): at android.graphics.Typeface.<init>(Typeface.java:175) 12-17 10:16:21.633: E/AndroidRuntime(2094): at android.graphics.Typeface.createFromAsset(Typeface.java:149) 12-17 10:16:21.633: E/AndroidRuntime(2094): at com.android.faccess.MyCustomTextView.init(MyCustomTextView.java:28) 12-17 10:16:21.633: E/AndroidRuntime(2094): at com.android.faccess.MyCustomTextView.<init>(MyCustomTextView.java:18) 12-17 10:16:21.633: E/AndroidRuntime(2094): ... 51 more
Я занимаюсь разработкой для Android 4.0 и выше, так что не нужно беспокоиться об утечках с этим раствором.
Любая помощь приветствуется.
Попробуйте этот ответ, может быть это ваш problem.http: //stackoverflow.com/questions/19615217/changing -font-in-android-app-crashes-the-application-native-typeface-не может быть –
@RemeesMSyde Это сработало! Ницца. Отправьте его как ответ, и я буду отмечать как принятый! Спасибо! – MMike
Ответа на этот вопрос dude –