En la respuesta a esta pregunta, el usuario enumera los valores para android:fontFamilyy 12 variantes (ver más abajo). ¿De dónde vienen estos valores? La documentación de android:fontFamilyno incluye esta información en ningún lugar (verifiqué aquí y aquí ). Las cadenas se enumeran en el archivo styles.xml de Android en varios lugares, pero ¿cómo se correlacionan con la fuente Roboto?
Desde Android 4.1 / 4.2, están disponibles las siguientes familias de fuentes Roboto:
android:fontFamily="sans-serif" // roboto regular android:fontFamily="sans-serif-light" // roboto light android:fontFamily="sans-serif-condensed" // roboto condensed android:fontFamily="sans-serif-thin" // roboto thin (android 4.2) android:fontFamily="sans-serif-medium" // roboto medium (android 5.0)en combinación con esto
android:textStyle="normal|bold|italic"Son posibles 12 variantes:
- Regular
- Itálico
- Negrita
- Negrita cursiva
- Ligero
- Cursiva clara
- Delgado
- Cursiva fina
- Regular condensado
- Cursiva condensada
- Negrita condensada
- Negrita-cursiva condensada
En el styles.xmlarchivo de la aplicación, estoy trabajando en alguien que enumeró esto como la familia de fuentes, y estoy bastante seguro de que está mal:
<item name="android:fontFamily">Roboto-Regular.ttf</item>
Me gustaría configurar correctamente el tema de nuestra aplicación (que incluye el uso correcto de fontFamily) y eliminar toda la redundancia que hay en algunos de los estilos que se crearon antes de echar un vistazo al archivo.


Fuentes disponibles (a partir de Oreo)
La página de Tipografía de diseño de materiales tiene demostraciones de algunas de estas fuentes y sugerencias sobre cómo elegir fuentes y estilos.
Para detectores de código:
fonts.xmles la lista definitiva y en constante expansión de las fuentes de Android.Usando estas fuentes
Establecer los atributos
android:fontFamilyyandroid:textStyle, por ejemploa los valores deseados de esta tabla:
(Noto Sans es una fuente alternativa; no puede especificarla directamente)
Nota: esta tabla se deriva de
fonts.xml. El apellido y el estilo de cada fuente se enumeran en fonts.xml, p. Ej.serif-monospacees, por lo tanto, la familia de fuentes ynormales el estilo.Compatibilidad
Según el registro de fonts.xml y el anterior system_fonts.xml , puede ver cuándo se agregó cada fuente:
fuente
Que yo sepa, no puede declarar fuentes personalizadas en xml o temas. Por lo general, solo hago clases personalizadas que extienden la vista de texto que establecen su propia fuente en la instanciación y las utilizo en mis archivos xml de diseño.
es decir:
y
fuente