Tipografía
Dos familias, dos roles
Sección titulada «Dos familias, dos roles»La app mezcla dos fuentes, cada una con un rol específico:
- Inter Bold (700), cargada en runtime vía Google Fonts Provider — es la “brand display face”: títulos de barra superior y subtítulos de sección, siempre en mayúsculas.
- La fuente de sistema por defecto (
FontFamily.Default, Roboto en la mayoría de dispositivos Android) — para todo el texto de lectura (bodyLargey, por herencia, el resto de la escala de Material 3 que no se sobreescribe explícitamente).
private val fontProvider = GoogleFont.Provider( providerAuthority = "com.google.android.gms.fonts", providerPackage = "com.google.android.gms", certificates = R.array.com_google_android_gms_fonts_certs,)
val InterFontFamily = FontFamily( Font(GoogleFont("Inter"), fontProvider, weight = FontWeight.Bold),)GoogleFont.Provider descarga la tipografía a través de Google Play Services en el propio
dispositivo del usuario (no está empaquetada en el APK), validada contra las huellas en
res/values/font_certs.xml.
Escala de Typography
Sección titulada «Escala de Typography»Sólo se sobreescriben 2 de los estilos de Material 3; el resto hereda los valores por defecto del tema:
val Typography = Typography( bodyLarge = TextStyle( fontFamily = FontFamily.Default, fontWeight = FontWeight.Normal, fontSize = 16.sp, lineHeight = 24.sp, letterSpacing = 0.5.sp, ), titleLarge = TextStyle( // títulos de CenterAlignedTopAppBar fontFamily = InterFontFamily, fontWeight = FontWeight.Bold, fontSize = 22.sp, lineHeight = 28.sp, ), titleSmall = TextStyle( // SectionTitle ("Performance", "Card"…) fontFamily = InterFontFamily, fontWeight = FontWeight.Bold, fontSize = 14.sp, lineHeight = 20.sp, letterSpacing = 0.1.sp, ),)| Estilo | Familia | Peso | Tamaño | Dónde se usa |
|---|---|---|---|---|
titleLarge |
Inter | Bold | 22sp | Títulos de CenterAlignedTopAppBar ("MY CARDS", "CARD DETAILS"…), siempre en .uppercase() |
titleSmall |
Inter | Bold | 14sp | SectionTitle — subtítulos como "PERFORMANCE", "CARD", "APPEARANCE" |
bodyLarge |
Sistema | Normal | 16sp | Texto de lectura general |
| resto de la escala | Sistema | — | — | Heredado de Material 3 por defecto (labelSmall/Medium/Large, headlineMedium para el nombre en la carta, etc.) |
Convenciones de aplicación
Sección titulada «Convenciones de aplicación»- Mayúsculas + Inter Bold = “esto es una etiqueta de sistema”: se aplica consistentemente a
títulos de pantalla, subtítulos de sección, chips (
ClassChip,TierChip), y a los labels de campos (FieldLabel, enlabelMediumconletterSpacing = 1.sp). - El nombre del auto sobre la carta no usa Inter: usa
headlineMedium/titleMedium(fuente de sistema) enFontWeight.Black, para diferenciarse visualmente de las etiquetas de UI. - Los valores numéricos (velocidad, potencia…) usan
bodyMedium/labelLargeconFontWeight.SemiBoldoBlacksegún el contexto — nunca Inter, que queda reservado exclusivamente para el rol “título/etiqueta de marca”.
MY CARDS
titleLarge · Inter Bold 22sp
Ferrari 499P
headlineMedium · fuente de sistema · Black
