You don't have access to this class

Keep learning! Join and start boosting your career

Aprovecha el precio especial y haz tu profesi贸n a prueba de IA

Antes: $249

Currency
$209
Suscr铆bete

Termina en:

1 D铆as
8 Hrs
45 Min
33 Seg
Curso de Jetpack Compose en Android

Curso de Jetpack Compose en Android

Amazon Web Services (AWS)

Amazon Web Services (AWS)

Colores, Fuentes y Material Theme

3/19
Resources

How to define the identity of your application with a design system?

Defining the identity of a mobile application is essential to offer a coherent and attractive user experience. To achieve this, a design system is the key tool, allowing you to establish color schemes, shapes and typographies that cohere the interface. In this context, the use of the Material Design 3 system becomes an efficient strategy to develop Android applications because of its unbalanced integration with native components.

What is Material Design 3 and how are its colors used?

Material Design 3 is an update to Google's design system that provides a uniform framework for creating attractive and functional interfaces. A fundamental aspect of this system is the use of colors, designed with intentionality for different elements:

  • Primary and OnPrimary: define the surface and the text within it, respectively.
  • Secondary and OnSecondary: They work similarly for other secondary elements.
  • Error and Error Container: Used to represent and handle errors.
  • Surface Variables (e.g., Surface, Surface Bright): Used to stand out against backgrounds.

You should explore these colors and how they combine. The purpose and application of each token is explained in detail in the resources, allowing you to differentiate them for correct use.

How to handle typography in Material Design 3?

Typography is a crucial component for conveying messages and establishing visual hierarchies. In Material Design 3, the typographic organization is represented through "tokens", classified from larger to smaller styles:

  1. Display Styles: large and eye-catching, with variants such as Display Large, Medium and Small.
  2. Headlines: Smaller than Display, suitable for prominent titles.
  3. Titles: Indicate sections within the application; series such as Title Large, Medium and Small offer flexibility.
  4. Body: For main content, set with Body Large, Medium and Small.
  5. Label Styles: Small labels useful in menus or chips, available in Large, Medium and Small sizes.

Each type has a clear purpose, which facilitates their choice and application in different application contexts.

How to configure colors and typography with Material Team Builder?

The Material Team Builder is a tool that facilitates the selection of base colors and typographic fonts, controlling the overall appearance of the application. When selecting a source color, the tool automatically generates color schemes for Light and Dark modes, allowing you to experiment with different perceptions:

  • Base color choice: Consider a palette that represents the theme of the app.
  • Font selection: The tool offers varied options such as Roboto or Poppins, suiting the needs of the project.

The choices at this stage will determine the final image of the application, allowing you to export the theme to integrate it into Android projects using Jetpack Compose.

How to integrate the design in Jetpack Compose?

Once the visual theme has been defined, the next step is to integrate the elements into Jetpack Compose:

  1. Exporting the theme: Material Team Builder allows you to export configurations directly for Jetpack Compose, ensuring that colors and fonts are reflected consistently.
  2. Package adaptation: Rename the package and make adjustments to the imported files (colors, themes, fonts) to match the project structures.
  3. Handling Google Fonts: Dynamic font integration requires establishing a vendor and verification certificate.

The correct implementation of these steps ensures that the application respects the visual and functional design guidelines set from the beginning.

With these configurations in place, we can do an initial test of the application to verify the appearance and functionality of Light and Dark Mode. By applying a theme, the aesthetic transformation will be evident, improving the user's visual interaction.

Contributions 8

Questions 2

Sort by:

Want to see more contributions, questions and answers from the community?

La clase estuvo enfocada en la personalizaci贸n de la interfaz de usuario con **Material Design** en **Jetpack Compose**. Se destac贸 la importancia de establecer un sistema de dise帽o que incluya temas, colores y tipograf铆as. Se explic贸 c贸mo seleccionar y combinar colores, como los tonos primarios y secundarios, y su interacci贸n con las superficies y el texto. Adem谩s, se abord贸 la elecci贸n de tipograf铆as y el uso de **Material Theme Builder** para dise帽ar un tema personalizado para la aplicaci贸n, incorporando modos claro y oscuro. Finalmente, se realiz贸 una pr谩ctica para exportar el tema configurado a **Jetpack Compose**.
![](https://static.platzi.com/media/user_upload/image-992e08fd-4000-454e-9eb8-bf19c87d5641.jpg)
![](https://static.platzi.com/media/user_upload/image-ef8ded07-88c6-45a3-a6cb-0cc2d88bbf99.jpg)![](https://static.platzi.com/media/user_upload/image-c5c91268-65b2-4af4-9bec-cad98813bdf2.jpg)
Solo como comentario adicional, en el curso el profesor tiene copilot y le autocompleta o importa muchas de las cosas a la hora de estar explicando. Ser铆a bueno que lo mencionara o en su caso desactivara para futuros cursos.
![]()Excelente
En Material 3, los colores cumplen roles espec铆ficos para mantener una experiencia de usuario coherente y accesible. A continuaci贸n, se detalla un resumen de cada categor铆a: ### **1. Paleta principal** * **Primary:** Color base de la marca o tema principal. Se utiliza en elementos destacados como barras de acci贸n y botones. * **On Primary:** Color del contenido (texto o 铆conos) sobre superficies de color Primary, garantizando contraste. ### **2. Secundarios y terciarios** * **Secondary:** Complementa al color principal para distinguir elementos secundarios. * **On Secondary:** Color del contenido sobre superficies secundarias. * **Tertiary:** Color adicional que puede usarse para acentos decorativos o gr谩ficos. * **On Tertiary:** Contenido sobre superficies terciarias. ### **3. Contenedores** * **Primary/Secondary/Tertiary Container:** Variantes m谩s claras o sutiles de los colores primarios, secundarios y terciarios, ideales para agrupaciones. * **On Primary/Secondary/Tertiary Container:** Color del contenido en contenedores respectivos. ### **4. Errores** * **Error:** Color para representar errores. * **On Error:** Contenido en superficies de error. * **Error Container:** Fondo para destacar errores en contexto. * **On Error Container:** Contenido sobre contenedores de error. ### **5. Tonos fijos** * **Primary Fixed, Secondary Fixed, Tertiary Fixed:** Usados para garantizar consistencia en temas de fondo o componentes destacados. * **Dim/Variant:** Ajustes de brillo o tonalidad para situaciones espec铆ficas. ### **6. Superficies** * **Surface:** Fondo est谩ndar para la mayor铆a de las pantallas. * **Surface Dim/Bright:** Ajustes para ambientes oscuros o claros. * **Surface Container (Lowest, Low, High, Highest):** Diferentes niveles de elevaci贸n para separar secciones de contenido. ### **7. Inverso** * **Inverse Surface:** Fondo usado en esquemas oscuros. * **Inverse On Surface:** Contenido sobre superficies inversas. * **Inverse Primary:** Variante del color primario para temas oscuros. ### **8. Contenido adicional** * **Outline/Outline Variant:** L铆neas de divisi贸n o bordes de elementos. * **On Surface/On Surface Variant:** Texto o 铆conos en superficies est谩ndar. * **Scrim:** Color transl煤cido usado en superposiciones (como di谩logos). * **Shadow:** Representa sombras, agregando profundidad visual. Cada uno de estos roles asegura que los colores no solo se vean bien, sino que tambi茅n garanticen accesibilidad y funcionalidad en interfaces.
Solo logre ver el cambio en la fuente, en el color no. ![](https://static.platzi.com/media/user_upload/image-a6c23646-6afe-455c-8f57-4446418052e8.jpg)
Asi quedo mi app: ![](https://static.platzi.com/media/user_upload/image-93c1a462-2e45-4121-a4b4-a8de9edd2479.jpg)