2016-04-01 4 views
3

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

Но на некотором телефон шрифт не перекрывая все TextViews, я абсолютно невежествен прямо сейчас, особенно это работает везде, кроме черной области

Результата я хочу:

HTC one mini 2, Android 4.4.2

В результате я получаю:

Huawei Y300, Android 4.1.1

Unknown model ,Android 5.1

Кодекс:

public final class FontsOverride { 

public static void setDefaultFont(Context context, 
            String staticTypefaceFieldName, String fontAssetName) { 
    final Typeface regular = Typeface.createFromAsset(context.getAssets(), fontAssetName); 
    replaceFont(staticTypefaceFieldName, regular); 
} 

protected static void replaceFont(String staticTypefaceFieldName, 
            final Typeface newTypeface) { 
    try { 
     final Field staticField = Typeface.class.getDeclaredField(staticTypefaceFieldName); 
     staticField.setAccessible(true); 
     staticField.set(null, newTypeface); 
    } catch (NoSuchFieldException e) { 
     e.printStackTrace(); 
    } catch (IllegalAccessException e) { 
     e.printStackTrace(); 
    } 
} 
} 

XML-:

<?xml version="1.0" encoding="utf-8"?> 
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 

    <ImageView 
     android:id="@+id/imageViewNewestArticleImage" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:scaleType="centerCrop" 
     android:background="@android:color/black" 
     android:src="@drawable/emptychatuser"/> 

    <TextView 
     android:id="@+id/textViewNewestArticleTitle" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="@string/sampleTitle" 
     android:layout_gravity="bottom" 
     android:textAllCaps="true" 
     android:textColor="@android:color/white" 
     android:textSize="25sp" 
     android:layout_marginLeft="10dp" 
     android:layout_marginBottom="20dp" 
     android:padding="5dp" /> 

</FrameLayout> 
+0

hm любые другие настройки шрифта в другом месте вашего xml? –

+0

Это обычное текстовое изображение, единственное различие между этим и другим текстовым изображением заключается в том, что цвет фона отличается от –

+0

Почему вы используете отражение для изменения цвета? –

ответ

0

Взгляните на эту удивительную библиотеку, она работает очень хорошо: https://github.com/chrisjenx/Calligraphy

+0

Я пробовал это, но безуспешно :( –

+0

В чем проблема? – Phoenix

+0

Он сделал то же самое, что и фрагмент кода, который я использовал для установки шрифта. –

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