2010-07-05 24 views
15

Me preguntaba si había alguna manera de que pudiera obtener una pista en la parte inferior de una vista Editar texto, y luego el usuario comenzaba a ingresar texto en la parte superior de la caja.Posición de la sugerencia personalizada en el cuadro Editar texto.

Como una pregunta extra, ¿hay alguna manera en que pueda hacer que la sugerencia NO desaparezca una vez que el usuario comienza a ingresar texto?

Respuesta

21

Puede establecer la posición del texto utilizando el atributo "gravedad" (como se indica en http://developer.android.com/reference/android/widget/TextView.html#setGravity(int)). Entonces, para poner el texto en la parte inferior, lo habría hecho;

android:gravity="bottom" 

Y para responder a su pregunta de bonificación; No, no puede mostrar la sugerencia cuando se ingresa texto en la vista de edición de texto. Mostrar la sugerencia solo cuando la casilla está vacía es el comportamiento definido como se indica en http://developer.android.com/reference/android/widget/TextView.html#setHint(int)

(y sí, sé que los enlaces son para TextView, pero EditText deriva toda su funcionalidad de manejo de texto y orientación de texto de TextView).

+1

Gracias, pensé que este era el caso. Estaba intentando tener una pantalla de contador de texto en tiempo real como una sugerencia en la parte inferior del cuadro de texto usando la funcionalidad de TextWatcher. He obtenido el contador de texto en vivo y el Android: cosas de gravedad para trabajar, sin embargo, creo que poner la pista dentro del campo EditText sería genial ... Lástima que no se puede hacer. – hwrdprkns

3

El problema con el uso de android: gravity y android: la sugerencia es que están interconectados con respecto a la posición del cursor. Cuando coloque la sugerencia usando la gravedad y comience a ingresar texto, se ingresará en la misma posición que la pista que es un problema si quieres que comience tradicionalmente en la esquina superior izquierda.

3

En realidad no es una manera de prevenir la pista de su escondite, y es un lugar fresco uno :-)

Se le da el aspecto de etiqueta flotante con animación suave muy fácilmente y es de androide sí. Sin bibliotecas adicionales y esas cosas.

Prueba esto:

<android.support.design.widget.TextInputLayout 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content"> 
     <EditText 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:hint="Touch me and I'll fly!"/> 
</android.support.design.widget.TextInputLayout> 

Puede cambiar el comportamiento mediante otras etiquetas XML como android:gravity="start|center|end" y otros.

Como beneficio adicional, puede utilizar mensajes de error con ella :-) Aquí está el enlace a esa pregunta: https://stackoverflow.com/a/30953551/6474744

Y lo siento, no tengo suficiente reputatuion para publicar imágenes, por lo que ayudarse a sí mismo:

http://i0.wp.com/androidlift.info/wp-content/uploads/2015/09/Screenshot_2015-09-28-17-03-561.png

Enjoy :-)

+0

Gracias, es genial, funciona y más importante, se opone a la respuesta aceptada donde dice "Y para responder a su pregunta de bonificación; No, no puede mostrar la sugerencia cuando se ingresa texto en la vista de edición de texto. sugerencia solo cuando la caja está vacía es el comportamiento definido como se indica en " – Saman

Cuestiones relacionadas