Saltearse al contenido

OutlinedTextField

MaterialMaterial 3
Imagen del componente OutlinedTextField - MaterialImagen del componente OutlinedTextField - Material 3

Los OutlinedTextField son una variación de los TextField destacando por tener un contorno marcado que cambia de color al ser seleccionado, con fondo tranparente, se ve más elegante.

Implementación

Definición del componente

Terminal window
@Composable
fun OutlinedTextField(
value = "",
onValueChange = { },
modifier = Modifier,
enabled = true,
readOnly = true,
textStyle = TextStyle(),
label = { },
placeholder = { },
leadingIcon = { },
trailingIcon = { },
isError = true,
visualTransformation = PasswordVisualTransformation(),
keyboardOptions = KeyboardOptions(),
keyboardActions = KeyboardActions(),
singleLine = true,
maxLines = 1,
minLines = 1,
interactionSource = MutableInteractionSource(),
shape = RoundedCornerShape(),
colors = TextFieldDefaults.textFieldColors()
)
AtributoDescripción
valueEvalúa el contenido del texto.
onValueChangeAquí se evalúa el texto que se introdujo en value y se activa con cada cambio en value.
modifierSe utiliza para personalizar el componente, como tamaño, fondo, etc.
enabledEsta propiedad es para poner habilitado o no el componente, poder escribir o no.
readOnlyPropiedad para solo lectura se usan para mostrar formularios precargados que un usuario no puede editar.
textStylePropiedad para personalizar el texto, color, tamaño, fondo, etc.
labelSe utiliza para dejar un texto de fondo en la caja de texto.
placeholderActúa como el label la diferencia es que no se mueve como el label, pero se borra al empezar a escribir.
leadingIconColocar un icono a la izquierda.
trailingIconColocar un icono a la derecha.
isErrorPropiedad que pinta la caja para indicar si el valor está mal o no (false o true).
visualTransformationSe utiliza para ocultar el texto, es más usado en campo contraseña junto con trailingIcon.
keyboardOptionsEspecifica el tipo de texto a escribir o tipo de teclado a mostrar, phone, email, number, etc. También se utiliza para otras funciones.
keyboardActionsSe utiliza para definir la acción y ejecutar cuando se presione enter en el teclado. En este caso es una búsqueda.
singleLineIndicar que solo será una línea de texto.
maxLinesIndica el número máximo de líneas de texto.
minLinesIndica el número mínimo de líneas de texto.
interactionSourceSirve para permitir agregar interacciones nuevas al flujo y para controlar las interacciones del usuario.
shapeNos ayuda a redondear las esquinas.
colorsPara personalizar los colores del componente OutlinedTextField ejemplo texto, borde, colores de estado.

Ejemplos

Imagen del componente OutlinedTextField - Material
Terminal window
@Composable
fun OutlinedTextFieldExample() {
OutlinedTextField(
value = valueInput,
onValueChange = { it ->
valueInput = it
},
modifier = Modifier,
enabled = true,
readOnly = true,
textStyle = TextStyle(color = Color.Cyan),
label = { Text(text = "Escriba aquí.") },
placeholder = { Text(text = "Escriba aquí.") },
leadingIcon = {
Icon(imageVector = Icons.Default.Email, contentDescription = "")
},
trailingIcon = {
Icon(imageVector = Icons.Default.CheckCircle, contentDescription = "")
},
isError = true,
visualTransformation = PasswordVisualTransformation(),
keyboardOptions = KeyboardOptions(keyboardType = KeyboardType.Email),
keyboardActions = KeyboardActions(onSearch = {}),
singleLine = true,
maxLines = 1,
minLines = 1,
interactionSource = MutableInteractionSource(),
shape = RoundedCornerShape(10.dp),
colors = TextFieldDefaults.textFieldColors(
textColor = Color.Green,
disabledTextColor = Color.DarkGray,
cursorColor = Color.Yellow )
)
}