Podrías hacerlo así. Crear un TextView costumbre y el uso que uno todas partes
public class MyTextView extends android.widget.TextView
{
public MyTextView(Context context)
{
this(context, null);
}
public MyTextView(Context context, AttributeSet attrs)
{
this(context, attrs, 0);
}
public MyTextView(Context context, AttributeSet attrs, int defStyle)
{
super(context, attrs);
if (this.isInEditMode()) return ;
final TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.SomeStyle);
final String customFont = a.getString(R.styleable.SomeStyle_font);
//Build a custom typeface-cache here!
this.setTypeface(
Typeface.createFromAsset(context.getAssets(), customFont)
);
}
}
Añadir esto a attrs.xml
<declare-styleable name="SomeStyle">
<attr name="font" format="string" />
</declare-styleable>
Luego, en su tema, hacer esto: Esto se asegurará de que todos los textviews usarán el estilo MyTextView
<item name="android:textViewStyle">@style/MyTextView</item>
Y ahora podemos definir su fuente personalizada utilizando su atributo personalizado en este estilo.
<style name="MyTextView" parent="@android:style/Widget.TextView">
<item name="font">MyPathToFontInAssets.ttf</item>
</style>
Así que cada vez que use MyTextView en el proyecto, tendrá su fuente personalizada.
IMPORTANTE: Tipos de letra no se almacenan en caché, por lo que si usted planea usar este código, también se debe construir una costumbre tipografía-caché para que pueda volver a utilizar el tipo de letra personalizado para todas las textviews. ¡Esto acelerará significativamente la aplicación!
ACTUALIZACIÓN: Como Amir estaba diciendo, esto es casi el mismo que Custom fonts and XML layouts (Android) pero también utilizo un estilo androide para utilizar automáticamente en todos los textviews en la aplicación.
Solo porque está marcado como duplicado, no se puede proporcionar una mejor respuesta: use la biblioteca de caligrafía para lograr esto. Incluso cambia la fuente de los brindis. – suku
Compruebe esto tut http://www.gadgetsaint.com/android/custom-fonts-textview-edittext-android/#.WNive2996Hs – ASP
¿No usaría simplemente https://github.com/chrisjenx/Calligraphy – Fattie