2012-04-16 17 views
5

So come impostare il carattere personalizzato su TextView. Ma come aggiungere font personalizzati attraverso theme/style/xml ??Android: Come aggiungere caratteri personalizzati a tema/stile/xml

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
    <style name="customfontforlistview" parent="@android:style/Widget.ListView"> 
     <item name="android:textColor">#000000</item> 
     <item name="android:typeface">HOW_TO_CUSTOM_FONT</item> 
    </style> 
</resources> 

Si prega di fornire una soluzione per questo.

risposta

3

Per quanto ne so non c'è un buon modo per farlo. L'alternativa migliore che conosco è quello di creare un semplice sottoclasse che sembra qualcosa di simile:

public class CustomTextViewNormal extends TextView 
{ 
    public CustomTextViewNormal(Context context) 
    { 
     super(context); 
     init(); 
    } 

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

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

    public void init() 
    { 
     Typeface tf = Typeface.createFromAsset(getContext().getAssets(), 
       "fonts/HelveticaNeue.ttf"); 
     setTypeface(tf); 
    } 
} 

Se fate questo, si può semplicemente utilizzare questa vista testo personalizzato negli schemi XML e che, fondamentalmente, avere la stessa funzionalità uno stile anche se, ammettiamolo, un po 'più scadente.

+0

questo non è un downvote! risposta esatta. almeno un modo come farlo – longilong

+0

android: textStyle = "bold" non funziona su questa textview ereditata :( –

Problemi correlati