Puedes usar el siguiente código:
Es posible que desee crear una clase estática que contendrá todas las fuentes. De esa manera, no creará la fuente varias veces, lo que podría afectar negativamente el rendimiento . Solo asegúrese de crear una subcarpeta llamada ” fuentes ” en la carpeta ” activos “.
Haz algo como
De esta manera, puede obtener la fuente desde cualquier lugar de su aplicación .:
- ¿Cuáles son algunos ejemplos de estilos de fuente?
- ¿Soy solo yo o Final Fantasy 6 (SNES) está usando una fuente Macintosh antigua?
- ¿Cuál de estas fuentes crees que es mejor para el logotipo de una revista?
- Cómo crear un archivo .ttf (fuente de tipo verdadero) mediante programación
- ¿Cuáles son los mejores métodos para encontrar la fuente utilizada en una aplicación de iOS?
public class CustomFontsLoader {
public static final int FONT_NAME_1 = 0;
public static final int FONT_NAME_2 = 1;
public static final int FONT_NAME_3 = 2;
privado estático final int NUM_OF_CUSTOM_FONTS = 3;
fuentes booleanas estáticas privadasLoaded = false;
fuentes estáticas privadas de Typeface [] = new Typeface [3];
Cadena estática privada [] fontPath = {
“fonts / FONT_NAME_1.ttf”,
“fonts / FONT_NAME_2.ttf”,
“fuentes / FONT_NAME_3.ttf”
};
/ **
* Devuelve una fuente personalizada cargada en función de su identificador.
* *
* @param context – el contexto actual
* @param fontIdentifier = el identificador de la fuente solicitada
* *
* @return Objeto tipográfico de la fuente solicitada.
* /
public static Typeface getTypeface (contexto contextual, int fontIdentifier) {
if (! fontsLoaded) {
loadFonts (contexto);
}
fuentes de retorno [fontIdentifier];
}
private static void loadFonts (contexto contextual) {
para (int i = 0; i <NUM_OF_CUSTOM_FONTS; i ++) {
fuentes [i] = Typeface.createFromAsset (context.getAssets (), fontPath [i]);}
fontsLoaded = true;
}
}