2012-04-16 14 views
5

Sé cómo configurar la fuente personalizada en un TextView. ¿Pero cómo agregar una fuente personalizada a través de theme/style/xml?Android: Cómo agregar fuentes personalizadas a tema/estilo/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> 

Proporcione una solución para esto.

Respuesta

3

Por lo que sé, no hay una buena manera de hacerlo. La mejor alternativa que sé es crear una subclase simple que se ve algo como esto:

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); 
    } 
} 

Si hace esto, sólo puede utilizar este punto de vista el texto de encargo en los esquemas XML y que básicamente tienen la misma funcionalidad que un estilo aunque, ciertamente, un poco más descuidado.

+0

esto no es un voto a favor! respuesta correcta. al menos una forma de hacerlo – longilong

+0

android: textStyle = "bold" no funciona en esta textview heredada :( –

Cuestiones relacionadas