2017-10-13 3 views
0

Ich ändere die Schriftart meiner App global, indem ich Typeface verwende, aber die Schriftart aller anderen Aktivitäten wurde geändert, aber der Text in der Kartenansicht wurde nicht geändert. Mein Code ist:Ändern der Schriftart der Kartenansicht nicht möglich

public class ReplaceFont {

public static void ReplaceDefaultFont(Context context, String OldFont, String Newfont){ 

    final Typeface typeface = Typeface.createFromAsset(context.getAssets(), "fonts/07722-cgothic.ttf"); 
    replaceFont(OldFont,typeface); 
} 

private static void replaceFont(String oldFont, Typeface typeface) { 
    try{ 

     final Field field = Typeface.class.getDeclaredField(oldFont); 
     field.setAccessible(true); 
     field.set(null,typeface); 
    } catch (NoSuchFieldException e) { 
     e.printStackTrace(); 
    } catch (IllegalAccessException e) { 
     e.printStackTrace(); 
    } 
} 

} und in Haupttätigkeit:

Typeface typeface = Typeface.createFromAsset(getAssets(), "fonts/07722- 
cgothic.ttf"); 
+1

Warum erstellen Sie nicht ein benutzerdefiniertes TextView, das Ihre benutzerdefinierte Schriftart verwendet, verwenden Sie einfach die benutzerdefinierte Textansicht in Ihren Ansichten? – Eenvincible

+0

, aber ich möchte die Schriftart der ganzen App nicht nur Textviews –

+0

thks für Bemühungen, die ich mein Problem gelöst –

Antwort

Verwandte Themen