Añadir una Font en Android

Hay varias formas, pero ninguna es demasiado sencilla de usar. Con todo lo bueno que tiene Android Studio, parece dificil que no se haya incluido una forma mas sencilla de incrustar fuentes.

La que resumo aquí para copiar y pegar, es basicamente asignarla objeto por objeto.
Esto se puede mejorar mucho claro, pero ya será en otro artículo mas en detalle.

Al final igualmente tendremos que crear un Typeface nuevo, con la fuente que queremos cargar. Dicha fuente deberá estar bajo la carpeta Assets. Es posible, si usas Android Studio, que no encuentres la carpeta Assets dentro de Main. Si te aparece el siguiente error en ejecución, creala.

 java.lang.RuntimeException: native typeface cannot be made at 
android.graphics.Typeface.<init>(Typeface.java:175) at 
ndroid.graphics.Typeface.createFromAsset(Typeface.java:149)

Debería quedarte algo así:
Captura

Ahora vamos al código que crea el Typeface y lo asignamos a nuestro botón.

 

 
String fontPath = "fonts/armalite_rifle.ttf"; 
final Button b = (Button) findViewById(R.id.botonEjemplo ); 
Typeface tf = Typeface.createFromAsset( this.getAssets(), fontPath); 
b.setTypeface(tf); 

Podeis trastear con las rutas que utilizará el método createFromAsset. Lo tenéis en el app.iml, en la línea.

 

<option name="ASSETS_FOLDER_RELATIVE_PATH" value="/src/main/assets" />