Como dice la documentación :
Android O le permite agrupar fuentes como recursos agregando el archivo de fuente en la carpeta res/font/ .
Como resultado:
Puede recuperar fuentes utilizando el
getFont(int), donde debe pasar el identificador de recursos de la fuente que desea recuperar. Este método devuelve un objeto Typeface. Esto codifica la primera de las variantes de peso o estilo de su fuente, si es una familia de fuentes. Luego puede usar el método Typeface.create(typeface, style) para recuperar estilos específicos.Nota: TextView ya hace esto por usted.
Tipo de letra typeface = getResources().getFont(R.font.myfont); textView.setTypeface(tipo de letra);
Desafortunadamente, cuando estoy usando el código anterior, aparece el siguiente error:
cannot resolve method 'getFont(?)'Anteriormente solía hacer lo siguiente:
Typeface typeface = Typeface.createFromAsset(getAssets(), "fonts/myfont.ttf");Pero ahora, cuando intento crear la carpeta de fuentes dentro de la carpeta de activos , salta automáticamente dentro de la carpeta res .
Estoy usando Android Studio 2.3 . Gracias de antemano por cualquier ayuda.
Use este método de la biblioteca de soporte 26.
ResourcesCompat.getFont(context, R.font.your_font);Fuente: https://developer.android.com/reference/android/support/v4/content/res/ResourcesCompat.html
Sé que esto puede llegar tarde, pero aquí está la documentación para usar fuentes descargadas con versiones de API anteriores a la 26 (modo de compatibilidad).
Básicamente, debe definir la descripción de la fuente como se muestra a continuación (usando ambos atributos: aplicación y Android) y luego usar la clase ResourceCompat para acceder a su fuente mediante programación:
Typeface typeface = ResourcesCompat.getFont(context, R.font.myfont);
<?xml version="1.0" encoding="utf-8"?> <font-family xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto"> <font android:fontStyle="normal" android:fontWeight="400" android:font="@font/myfont-Regular" app:fontStyle="normal" app:fontWeight="400" app:font="@font/myfont-Regular"/> <font android:fontStyle="italic" android:fontWeight="400" android:font="@font/myfont-Italic" app:fontStyle="italic" app:fontWeight="400" app:font="@font/myfont-Italic" /> </font-family>¡Salud!
Prueba algo como esto
Typeface yourFont = Typeface.createFromAsset(getAssets(), "fonts/yourFont.ttf");