2016-12-28 4 views
0

ich benutzerdefinierte Schriftarten in meiner Anwendung bin mit So habe ich folgenden Code verwendetEinstellen von benutzerdefinierten Schriftart Textview

public class BrandonBlackTextView extends TextView { 

public BrandonBlackTextView(Context context, AttributeSet attrs, int defStyle) { 
    super(context, attrs, defStyle); 
    init(); 
} 

public BrandonBlackTextView(Context context, AttributeSet attrs) { 
    super(context, attrs); 
    init(); 
} 

public BrandonBlackTextView(Context context) { 
    super(context); 
    init(); 
} 

public void init() { 
    Typeface tf = Typeface.createFromAsset(getContext().getAssets(), "font/brandon_blk.ttf"); 
    setTypeface(tf ,1); 

} 

, wo immer ich will ich diesen textview verwenden verwenden. Es klappt. Aber Problem ist manchmal ich weiß nicht warum, aber Text innerhalb textview wird fett. Ich weiß nicht, warum das passiert. Und das ist sehr inkonsequent, es passiert nicht jedes Mal.

in the pic, you see in one row text is bold.

Antwort

0

versuchen, dies zu Ihrer Init hinzu:

int flags = getPaintFlags() | Paint.ANTI_ALIAS_FLAG | Paint.SUBPIXEL_TEXT_FLAG; 
setPaintFlags(flags); 

Auch sollten Sie die Schriftart-Cache irgendwo anstatt es wieder für jeden TextView geladen.

+0

wie man Schriftbild zwischenspeichert? –

+0

@ShrenivasChikati Laden Sie es einmal und behalten Sie einen Verweis darauf. – Karakuri

+0

ok, aber int flags = getPaintFlags() | Paint.ANTI_ALIAS_FLAG | Paint.SUBPIXEL_TEXT_FLAG; setPaintFlags (Flaggen); hat mir nicht geholfen –

Verwandte Themen