Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

113
Vistas
Personaliza ContentAlpha en Jetpack Compose como un tema

Mi cliente tiene pautas de diseño muy estrictas, por ejemplo, para alfa: el texto no debe tener alfa.

Sin embargo, parece que no puedo personalizar el alfa de MaterialDesign de una manera similar a un tema .

Claro, puedo personalizar todos y cada uno de los componentes, pero esto es tedioso: Modifier.alpha(1.0f)

Claro, puedo envolver toda mi aplicación en un proveedor alfa, pero la mayoría de los componentes de material la sobrescriben, por ejemplo, AppBar , por lo que esto tampoco funciona como se esperaba.

 // my wrapper: CompositionLocalProvider(LocalContentAlpha provides 1.0f) { /* my ui */ } // will be overwritten by @Composable private fun AppBar(...) { Surface(...) { CompositionLocalProvider(LocalContentAlpha provides ContentAlpha.medium) { Row(..., content) } } }

Entonces, supongo que lo que debería hacer es proporcionar un ContentAlpha personalizado, ya que se usa en casi todos los componentes materiales, pero no sé cómo hacerlo. ¿Vos si?

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Me parece que realmente no necesitas el diseño de materiales y solo quieres un tema personalizado. Está bien, de verdad, actualmente estoy trabajando en una aplicación de producción que fue en esa dirección y es completamente viable.

Todavía estamos ajustando nuestro contenido con MaterialTheme para que ALGUNOS de los componentes materiales estén disponibles, pero la dependencia del material es interna al módulo base de la interfaz de usuario. Entonces, si queremos usar cualquier componente de material en el código de la interfaz de usuario (en función, por ejemplo), tenemos que crear nuestro contenedor para ello. De esta manera, estamos usando solo nuestro código en la interfaz de usuario sin perder algunos de los componentes materiales. Y si el diseño del material cambia de una manera que no podemos aceptar, podemos simplemente volver a implementar el envoltorio delgado a algo 100% personalizado (como hicimos con el Button y los campos de texto).

Puede anular cualquier parte del componente de material dentro de esos envoltorios delgados usando Modifier.alpha(1.0f) . Lo estás haciendo una vez y luego te olvidas de eso :)

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda