En esta ocasión, vamos a añadir a la app un pequeño elemento EditText (Plain text) con el que poder añadir una entrada de texto para el usuario.
Añadir un elemento EditText
El elemento "EditText" aparece en modo diseño como "Plain Text". Arrástrlo para añadirlo.
En el modo código nos aparece como "EditText".
Ajústalo con las restricciones como mostré anteriormente.
El atributo text de EditText
Este atributo aparece por defecto con el valor "Name". Es el mismo que utiliza el botón para mostrar "Enviar". Sin embargo, vamos a borrar esta propiedad. El motivo es que aparece texto fijo que se puede borrar o no, dependiendo de otros atributos. Esto normalmente no es lo que se desea con una entrada de texto.
Si lo cargas en el emulador, podrás ver que al hacer "tap" (pulsar sobre la entrada de texto) no se borra el texto para poder escribir nosotros algo. Hay que borrarlo manualmente.
Una vez borrado el atributo "text" sale la entrada de texto vacía. Puede ser que quieras esto o bien, describir mínimamente al usuario para que es cada entrada. Vamos a hacer de dos formas, con el atributo "hint" y también con etiquetas "TextView" en otro capítulo.
Añadir texto que se borre al escribir sobre el EditText de Android Studio
Empecemos viendo como escribir un texto que no va a interferir al usuario. Este aparecerá hasta que empiece a escribir sobre la entrada de texto.
Buscar atributos de elementos en Android Studio
Para encontrar el atributo que necesitamos ("hint") lo podemos buscar por la sección "Attributes" con la rueda del mouse o bien utilizar este botón y realizar una búsqueda:
<string name="nombre_usuario">Nombre de usuario</string>
Error Touch target size is too small de Android Studio
Seguramente te aparezca el error "Touch target size is too small" (El tamaño del objetivo táctil es demasiado pequeño). El problema que presenta es que el ancho del elemento es de 45dp y se recomienda que sea de al menos 48dp.
Por lo tanto, para solucionarlo, dale a fix o edita el atributo correspondiente al ancho del elemento con un tamaño de al menos 48dp.
Warning Insufficient text color contrast ratio
El warning "Insufficient text color contrast ratio" (Relación de contraste de color de texto insuficiente) nos aparece si el texto es poco visible según la combinación de colores que tengamos. Al ser el fondo blanco y el texto del "hint" gris muy claro, hace mal contraste. Elige un tono más oscuro para que desaparezca.
Warning Missing `autofillHints` attribute
El warning "Missing `autofillHints` attribute" aparece para indicar que a partir de la API 26 de Android, se debe utilizar el atributo "autofillHints" para indicar el tipo de entrada que es un "EditText".
android:autofillHints=""
android:importantForAutofill="no"
tools:ignore="Autofill"
Al hacer click derecho sobre este warning y la opción "Show quick fixes", podemos añadir el atributo con un string vacío, para rellenarlo más adelante o bien, si no es una entrada importante, le podemos dar el valor "importantForAutoFill="no"". En este caso, como es para la entrada de usuario, sí que habría que darle un valor, sin embargo, puedes ignorar este warning con la tercera opción.
El resultado a todo, es este:
Al presionar en la entrada de texto, el "hint" se mantiene. En el momento en el que escribes algo, desaparece. Si lo dejas de nuevo vacío vuelve a aparecer.
No te pierdas la categoría Android para ver el resto de capítulos.
me está encantando el curso! gracias