Cómo migrar temas de XML a Compose
Organiza tus páginas con colecciones
Guarda y categoriza el contenido según tus preferencias.
Si implementas Compose en una app existente, deberás migrar tus temas en XML para usar MaterialTheme
en las pantallas de Compose. Esto significa que el tema de tu app tendrá dos fuentes de confianza: un tema basado en View y otro basado en Compose. Si decides realizar cambios en tu diseño, deberás hacerlos en varios lugares. Una vez que tu app se haya migrado por completo a Compose, podrás quitar el tema XML.
Para migrar tus temas de XML a Compose, usa Material Theme Builder para migrar de un tema de XML a Material 3 en Compose. Puedes usar los roles de color existentes, como los colores primarios y secundarios de tu tema de XML, y pasarlos a Material Theme Builder. Esto crea un tema completamente de Material 3 en Compose y proporciona archivos de color y tema descargables para usar en tu app.
Material Theme Builder genera un MaterialTheme
y esquemas de colores claros y oscuros para tu app. Si tu app usa formas o tipografía personalizadas, migra tus formas y tipografía personalizadas definiendo un Shape
y un Typography
, respectivamente. Una vez que la definas, proporciona esa información a tu MaterialTheme
. Consulta formas y tipografía para obtener más información.
El contenido y las muestras de código que aparecen en esta página están sujetas a las licencias que se describen en la Licencia de Contenido. Java y OpenJDK son marcas registradas de Oracle o sus afiliados.
Última actualización: 2025-08-27 (UTC)
[[["Fácil de comprender","easyToUnderstand","thumb-up"],["Resolvió mi problema","solvedMyProblem","thumb-up"],["Otro","otherUp","thumb-up"]],[["Falta la información que necesito","missingTheInformationINeed","thumb-down"],["Muy complicado o demasiados pasos","tooComplicatedTooManySteps","thumb-down"],["Desactualizado","outOfDate","thumb-down"],["Problema de traducción","translationIssue","thumb-down"],["Problema con las muestras o los códigos","samplesCodeIssue","thumb-down"],["Otro","otherDown","thumb-down"]],["Última actualización: 2025-08-27 (UTC)"],[],[],null,["When you introduce Compose in an existing app, you need to migrate your themes in XML to use `MaterialTheme` for Compose screens. This means your app's theming will have two sources of truth: the View-based theme and the Compose theme. Any changes to your styling need to be made in multiple places. Once your app is fully migrated to Compose, you can remove your XML theming.\n| **Note:** For non-Material design systems, see [Custom design systems in Compose](/develop/ui/compose/designsystems/custom).\n\nTo migrate your XML themes to Compose, use the [Material Theme Builder](https://m3.material.io/theme-builder) to migrate from an XML theme to [Material 3](/develop/ui/compose/designsystems/material3#material-theming) in Compose. You can use your existing color roles, such as primary and secondary colors from your XML theme, and pass them to the Material Theme Builder. This creates a fully Material 3 theme in Compose and provides downloadable color and theme files to use in your app.\n\nMaterial Theme Builder generates a `MaterialTheme` and light and dark color schemes for your app. If your app uses custom shapes or typography, migrate your custom shapes and typography by defining a `Shape` and `Typography`, respectively. Once defined, provide that information to your `MaterialTheme`. See [shapes](/develop/ui/compose/designsystems/material3#shapes) and [typography](/develop/ui/compose/designsystems/material3#typography) to learn more.\n| **Note:** If you are not using Material 3, see [Material Design 2 in Compose](/develop/ui/compose/designsystems/material) to learn how to create a theme. See [Migrate from Material 2 to Material 3 in Compose](/develop/ui/compose/designsystems/material2-material3) when you are ready to migrate to Material 3."]]