2013-10-14 24 views
5

So gibt es verschiedene Möglichkeiten, Ihre Schriftart in Android festzulegen. Was ich tun muss, ist die Schriftart in Kombination mit einer custom font und damit über die entire app.Benutzerdefinierte Schriftart in der gesamten App verwendet

Jetzt nach ein paar Recherchen habe ich 2 Möglichkeiten.

  • Überschreiben Sie EditText und legen Sie Schriftart, verwenden Sie diese Klasse in meinem Layout XML.
  • Fügen Sie eine Schriftart zu meinem AppTheme in meiner styles.xml hinzu.
  • Jetzt bevorzuge ich die letzte Option, dies ist offensichtlich in meiner Position der beste Weg zu gehen, da ich die gleiche Schriftart in meiner gesamten App verwenden. Nun ist das Problem, in meinem Assets/font/ Ordner habe ich die Schriftart hinzugefügt, die ich verwenden möchte, aber ich kann das nicht in meinen Stilen verwenden.

    <style name="AppTheme" parent="AppBaseTheme"> 
        <item name="android:typeface"> Here? </item> 
    </style> 
    

    Wie Sie meine Schriftart als Schriftart hinzufügen. Ist das möglich?

    Antwort

    0

    Versuchen Sie diesen Code:

    public class CustomTextView extends EditText { 
    
    public CustomTextView(Context context, AttributeSet attrs, int defStyle) { 
        super(context, attrs, defStyle); 
        if (!isInEditMode()) 
         init(); 
    
    } 
    
    public CustomTextView(Context context, AttributeSet attrs) { 
        super(context, attrs); 
        if (!isInEditMode()) 
         init(); 
    
    } 
    
    public CustomTextView(Context context) { 
        super(context); 
        if (!isInEditMode()) 
         init(); 
    } 
    
    public void init() { 
        Typeface tf = Typeface.createFromAsset(getContext().getAssets(), Constants.FONTPATH); 
        setTypeface(tf); 
    
    } 
    
        } 
    

    dann in XMLwith verwenden;

     <pkgname.CustomTextView android:id="@+id/txt" android:layout_width="wrap_content" android:layout_height="wrap_content" /> 
    
    +0

    Das ist nicht meine Frage. Das war meine erste Option. Und dadurch überschreibst du die Textansicht und nicht den Editiertext wie ich erwähne. Aber abgesehen davon weiß ich von dieser Option und in meiner Position ist es nicht der effizienteste Weg. Es ist wie ein Plan b. –

    0

    Soweit ich weiß, gibt es keine Möglichkeit, auf externe Assets in XML-Dateien zuzugreifen.

    +0

    In der Zwischenzeit habe ich auch keine Lösung gefunden. Ich gehe einfach mit einer benutzerdefinierten Textansicht. Hoffe, dass es dafür in Zukunft etwas geben wird. Es macht den Code viel sauberer. –

    Verwandte Themen