Estoy usando un EditTextinside a TextInputLayout, pero después de actualizar la biblioteca de soporte a 23.2.0, aparece esta advertencia en el logcat, ¿Cuál es la diferencia entre un regular EditTexty un a TextInputEditText? Parece que no puedo encontrar ninguna documentación para ello.
93

Respuestas:
Yo también me preguntaba esto, Daniel Wilson reunió la documentación, pero para el ojo inexperto no significa mucho. De esto se trata: "modo de extracción" se refiere al tipo de vista que se muestra cuando el espacio es demasiado pequeño, por ejemplo, el paisaje en un teléfono. Estoy usando Galaxy S4 con el teclado de Google como editor de métodos de entrada (IME).
Interfaz de usuario horizontal sin IME visible
Según el enfoque (en la Descripción), puede ver
TextInputLayouten acción empujar la pista fuera del editor. Nada especial aquí, esto es lo queTextInputLayoutse supone que debe hacer.IU horizontal que edita el campo de nombre vacío
Al editar el nombre, puede ver que el IME no le da una pista de lo que está editando.
Campo de descripción vacío de edición de interfaz de usuario horizontal
Al editar la descripción, puede ver que el IME le da una pista de lo que está editando.
XML de diseño
La diferencia entre los dos campos es su tipo
EditTextVSTextInputEditText. Lo importante aquí es queTextInputLayouttiene elandroid:hintEditText envuelto y no el envuelto, este es el caso cuandoTextInputEditTextlas pocas líneas de código Java hacen una gran diferencia.Campo de nombre
Campo de descripción
fuente
android:hintse supone que la propiedad debe ingresar enTextInputEditTextlugar deTextInputLayout.TextInputEditTextes un detalle de implementación de la interfaz de usuario.No hay documentación para ello, pero la clase es regular
EditTextcon una característica adicional única:Específicamente establece el
EditorInfo.hintText. Notarás que en laTextInputLayoutclase puedes especificar la pista y su apariencia en lugar de como parte delEditTextwidget secundario .Si necesita hacer eso, debe usar un
TextInputEditTextpara que preste atención a la información de sugerencia que especificó en elTextInputLayout.fuente
Son esencialmente lo mismo, pero creo que
TextInputEditTexttiene más características y posiblemente atributos. Cambié alTextInputEditTexty todo funcionó y se veía como antes con el estándarEditText.fuente
La única diferencia es que cuando su dispositivo está en modo horizontal,
TextInputEditTextmostrará la pista,EditTextno lo hará.fuente
Tuve este problema y acabo de eliminar esta línea en mi archivo xml:
y el error desapareció.
fuente