Para Android 4.1 y superior, puede usar las siguientes etiquetas para cambiar / configurar la familia de fuentes en xml.
android:fontFamily="sans-serif" // roboto regular
android:fontFamily="sans-serif-light" // roboto light
android:fontFamily="sans-serif-condensed" // roboto condensed
- ¿Cómo son los tipos de letra para los alfabetos no romanos?
- ¿Qué fuentes se combinan con letras gruesas de pincel?
- ¿Qué significa ‘ST’ en las tipografías?
- ¿Cuáles son las fuentes monoespaciadas utilizadas para los juegos de mesa y video asiáticos?
- ¿Cuál es el proceso de lanzamiento de una nueva biblioteca de código abierto como Font Awesome?
android:fontFamily="sans-serif-thin" // roboto thin (android 4.2)
android:fontFamily="sans-serif-medium" // roboto medium (android 5.0)
en combinación con
android:textStyle="normal|bold|italic"
Hay un total de 14 posibles variantes
- Roboto regular
- Roboto cursiva
- Roboto bold
- Roboto negrita cursiva
- Roboto-Light
- Roboto-Light cursiva
- Roboto-Thin
- Roboto-Thin italic
- Robotocondensado
- Cursiva Roboto-Condensada
- Negrita Roboto-Condensed
- Roboto-Condensed negrita cursiva
- Roboto-Medium
- Roboto-Medium italic
Sin embargo, si desea utilizar una fuente personalizada, deberá hacerlo mediante programación.
Coloque el archivo de fuente en su carpeta de activos y configúrelo así:
TextView tv = (TextView) findViewById(R.id.appname);
Typeface face = Typeface.createFromAsset(getAssets(), "fonts/epimodem.ttf");
tv.setTypeface(face);
Si bien esto funciona, debe almacenar en caché el TypeFace, de lo contrario podría correr el riesgo de pérdidas de memoria en los teléfonos más antiguos. El almacenamiento en caché también aumentará la velocidad, ya que no es súper rápido leer de los activos todo el tiempo.
FontCache de clase pública {
Hashtable estático privado fontCache = new Hashtable ();
public static Typeface get (String name, Context context) {Typeface tf = fontCache.get (name);
if (tf == null) {try {tf = Typeface.createFromAsset (context.getAssets (), nombre);
}
captura (excepción e)
{return null; }
fontCache.put (nombre, tf); }
volver tf; }
}
Aquí hay un ejemplo completo sobre cómo cargar fuentes personalizadas y estilo TextViews, si necesita más ayuda.
¡Aclamaciones!