En la respuesta a esta pregunta, el usuario enumera los valores para android:fontFamily
y 12 variantes (ver más abajo). ¿De dónde vienen estos valores? La documentación de android:fontFamily
no 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.xml
archivo 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.xml
es la lista definitiva y en constante expansión de las fuentes de Android.Usando estas fuentes
Establecer los atributos
android:fontFamily
yandroid: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-monospace
es, por lo tanto, la familia de fuentes ynormal
es 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