¿Cómo cambiar el color del texto resaltado de TextField en Jetpack Compose?

Arthur Bertemes

En la actualidad, estoy haciendo la transición de mi aplicación a Jetpack, y estoy enfrentando algunos problemas para adaptar mi paleta de colores actual en algunos casos.

Tengo algunos TextInputLayouten mis archivos xml que heredan el color del texto resaltado del color SECUNDARIO en mi tema.

<style name="Theme.MyApp" parent="Theme.MaterialComponents.Light.NoActionBar">
    ...
    <item name="colorPrimary">@color/blue</item>
    <item name="colorPrimaryVariant">@color/blue</item>
    <item name="colorSecondary">@color/red</item>
    <item name="colorSecondaryVariant">@color/red</item>
    ...
</style>

TextInputLayout con el color secundario del tema - xml

El problema es que my TextFieldon compose hereda el color del texto resaltado del color PRIMARY on MaterialTheme.

MaterialTheme(
    colors = Colors(
        primary = Color.Blue,
        ...
        secondary = Color.Red,
        ...
    ),
    content = content,
    typography = MaterialTheme.typography,
    shapes = MaterialTheme.shapes,
) {
   TextField(...)
}

TextField con el color primario del tema - redactar

Anulé el colorsparámetro TextFieldpero ninguno parece afectar este color.

Habría una manera de anular el color de resaltado de componer sin cambiar el colorssobre MaterialTheme? Me gustaría evitar eso, ya que podría causar problemas en otras pantallas que usarían el mismo tema.

Gabriele Mariotti

Los colores utilizados para la selección de texto por texto y componentes de campo de texto son proporcionados por LocalTextSelectionColors.current.

Puede proporcionar un TextSelectionColorsuso personalizado :

val customTextSelectionColors = TextSelectionColors(
    handleColor = Red,
    backgroundColor = Red.copy(alpha = 0.4f)
)

CompositionLocalProvider(LocalTextSelectionColors provides customTextSelectionColors) {
    TextField(
        value = text,
        onValueChange = { text = it },
        colors = TextFieldDefaults.textFieldColors(cursorColor = Red)
    )
}

Si desea cambiar también el color del cursor, agregue colors = TextFieldDefaults.textFieldColors(cursorColor = Red).

ingrese la descripción de la imagen aquí

Este artículo se recopila de Internet, indique la fuente cuando se vuelva a imprimir.

En caso de infracción, por favor [email protected] Eliminar

Editado en
0

Déjame decir algunas palabras

0Comentarios
Iniciar sesiónRevisión de participación posterior

Artículos relacionados

En Eclipse, ¿cómo cambiar el color del color de resaltado del texto de la consola seleccionado?

Utilidad Material UI styled() - Cómo cambiar recursivamente el color de fondo del texto resaltado

¿Cómo cambiar el color del texto del botón en estado resaltado para iOS en NativeScript?

Cómo cambiar el color de resaltado del elemento ListView seleccionado en UWP (Windows 10)

¿Cómo cambiar el color del texto de entrada de la interfaz de usuario fluida TextField?

¿Cómo cambiar el color de fondo de BasicTextField en jetpack compose?

¿Hay alguna manera en vim de cambiar el color de resaltado del texto de búsqueda solo en modo visual?

¿Cómo cambiar el valor del texto cuando se hace clic en un botón en Jetpack Compose?

¿Cómo cambiar el valor del texto cuando se hace clic en un botón en Jetpack Compose?

Jetpack Compose alinea el texto de entrada en TextField

¿Cómo cambiar el color de resaltado del borde de un botón de contorno en aleteo?

¿Cómo borrar el valor del campo de texto en Jetpack Compose?

Cambiar el color del texto del elemento seleccionado del cuadro de lista de WPF y el color de resaltado / fondo con C #

¿Cómo cambiar el color del texto y el color de la consola en code :: blocks?

Cómo cambiar el color del texto del botón de Android globalmente en el tema

Cómo cambiar el color del texto del mes en el calendario cuadrado de GitHub android

Cambiar globalmente el color del texto de UIBarButtonItem cuando está seleccionado o resaltado

react.js: cambiar el color del texto resaltado de la pestaña mui

Cómo cambiar el color del texto de WPF ListView en el valor de enumeración

Cómo cambiar el color del borde del área de texto en: focus

Cómo cambiar el color del borde del campo de texto Flutter en foco

¿Cómo cambiar el color del texto del fragmento de configuración en Android?

Cómo cambiar el color del texto del cajón principal de actividades en Android

Cómo cambiar el color de resaltado en pdf usando el módulo fitz en python

Cómo cambiar el color del texto en Div sin cambiar el color del borde

Cambiar el color de resaltado para el campo de texto en aleteo

¿Cómo cambiar el color del texto en JTextArea?

Mostrar el ícono final después de la entrada de texto del usuario en TextField Jetpack Compose

¿Cómo cambiar el color del texto de todo el tema en Flutter?