¿Hay algún widget como el EditText
que contiene un botón cruzado, o hay alguna propiedad para la EditText
cual se crea automáticamente? Quiero que el botón cruzado elimine cualquier texto escrito EditText
.
android
android-edittext
Arun Badole
fuente
fuente
Respuestas:
Use el siguiente diseño:
También puede usar la identificación del botón y realizar cualquier acción que desee en su método onClickListener.
fuente
Si utiliza DroidParts , acabo de agregar ClearableEditText .
Esto es lo que parece con un fondo personalizado y un ícono claro configurado
abs__ic_clear_holo_light
desde ActionBarSherlock :fuente
EditText
. Thx @yanchenkoSolución 2020 a través de Componentes de diseño de materiales para Android:
Agregue componentes de material a su configuración de gradle:
Busque la última versión desde aquí: https://maven.google.com/
o si no ha actualizado el uso de las bibliotecas de AndroidX, puede agregarlo de esta manera:
Luego
Presta atención a: app: endIconMode = "clear_text"
Como se discutió aquí Documentos de diseño de materiales
fuente
<androidx.appcompat.widget.AppCompatEditText/>
? puede usted por favor me ayude en la mismaEsta es una solución de Kotlin. Ponga este método auxiliar en algún archivo kotlin
Y luego úsalo de la siguiente manera en el
onCreate
método y deberías estar listo para comenzar.Por cierto,
R.drawable.ic_clear
primero debes agregar o borrar el ícono. Este es de google- https://material.io/tools/icons/?icon=clear&style=baselinefuente
this.clearFocus()
antes de la declaración de retorno verdadero, puede escuchar este evento en la persona que llama EditText con elonFocusChange
oyentesetCompoundDrawablesWithIntrinsicBounds(0, 0, clearIcon, 0)
. Puede pasar el ID del icono dibujable izquierdo como un nuevo parámetro a esta función y ponerlo en la llamada.La biblioteca de soporte de Android tiene una
SearchView
clase que hace exactamente esto. (SinEditText
embargo, no está derivado de , así que debe usar a enSearchView.OnQueryTextListener
lugar de aTextWatcher
)Usar en XML así:
fuente
donde, x es:
fuente
Para
drawable resource
que pueda utilizar imágenes de Android estándar:http://androiddrawables.com/Menu.html
Por ejemplo :
fuente
Si no desea usar vistas personalizadas o diseños especiales, puede usar 9 parches para hacer el botón (X).
Ejemplo: http://postimg.org/image/tssjmt97p/ (No tengo suficientes puntos para publicar imágenes en StackOverflow)
La intersección de los píxeles negros derecho e inferior representa el área de contenido. Cualquier cosa fuera de esa área es relleno. Entonces, para detectar que el usuario hizo clic en la x, puede configurar un OnTouchListener de esta manera:
Según sus necesidades, esta solución puede funcionar mejor en algunos casos. Prefiero mantener mi xml menos complicado. Esto también ayuda si desea tener un icono a la izquierda, ya que simplemente puede incluirlo en el parche 9.
fuente
Hice la parte de la interfaz de usuario como a continuación:
edittext_bg.xml
balloon_overlay_close.png
Botón Cruz / Borrar ocultar / mostrar:
Manejar material de búsqueda (es decir, cuando el usuario hace clic en buscar desde el tablero de teclas programables)
Botón Borrar / Cruz
fuente
Utilizar
fuente
Aquí hay una biblioteca completa con el widget: https://github.com/opprime/EditTextField
Para usarlo debes agregar la dependencia:
En el archivo layout.xml puedes jugar con la configuración del widget:
aplicación: clearButtonMode, puede tener tales valores: nunca siempre whileEditing a menos que se edite
aplicación: clearButtonDrawable
Muestra en acción:
fuente
Simplemente ponga una cruz cerca como
drawableEnd
en suEditText
:y use la extensión para manejar el clic (o use
OnTouchListener
directamente en suEditText
):uso de extensión:
fuente
Puede usar este fragmento con la respuesta de Jaydip para más de un botón. simplemente llámelo después de obtener una referencia a ET y Button Elements. Usé el botón vecotr, así que debes cambiar el elemento Button a ImageButton:
fuente
Si está en el diseño del marco o puede crear un diseño del marco, intenté otro enfoque ...
Este es un texto de edición en el que pongo un ícono de cruz como un dibujo derecho y, luego, coloco un botón transparente que borra el texto.
fuente
fuente