Cuando una vista desaparece, significa que no ocupa espacio en el diseño. Cuando es invisible, ocupará el espacio necesario en un diseño, pero simplemente no lo verá.
DroidBender
Respuestas:
709
INVISIBLE:
Esta vista es invisible, pero aún ocupa espacio para fines de diseño.
IDO:
Esta vista es invisible y no ocupa espacio para el diseño.
¿Es necesario aclarar la idea? Parece lo suficientemente claro para mí solo por la explicación.
John Dvorak
16
@ JanDvorak :) ¡Genial! No tengo respuesta para tu pregunta. Si cree que esto fue muy claro para todos los usuarios, la respuesta aceptada debe ser un comentario y un enlace al sitio de documentación. ¿Estoy en lo correcto?
Pankaj Kumar
¿Qué pasa si lo uso para edittext. ¿Es posible obtener el valor de edittext?
Ashish
32
Para ListView o GridView hay otra diferencia, cuando la visibilidad se establece inicialmente en
INVISIBLE:
La función getView () del adaptador llamada
IDO:
La función getView () del adaptador no llamó, evitando así que se carguen las vistas, cuando no es necesario
¡@cyroxis tal vez él / ella se refiere al método ondraw!
David
7
Me gustaría agregar a las respuestas correctas y exitosas, que si inicializa una vista con visibilidad como View.GONE, la vista podría no haberse inicializado y obtendrá algunos errores aleatorios.
Por ejemplo, si inicializa un diseño como View.GONEy luego intenta iniciar una animación, desde mi experiencia, tengo mi animación trabajando aleatoriamente. Aveces si aveces no.
Entonces, antes de manejar (cambiar el tamaño, mover, lo que sea) una vista, debe iniciarla como View.VISIBLEo View.INVISIBLErepresentarla (dibujarla) en la pantalla y luego manejarla.
Sí, tienes razón, funciona solo a veces cuando la vista esGONE
Suraj Bahadur
4
cuando lo hace Desaparecido cada vez que se compila el programa, el componente se inicializa, lo que significa que está eliminando el componente del diseño y cuando lo hace invisible, ocupará el mismo espacio en el diseño, pero cada vez que no necesite inicializarlo .
si configura Visibility = Gone, entonces debe inicializar el componente ... como
por ejemplo, Botón _mButton = botón nuevo (esto);
_mButton = (Botón) findViewByid (R.id.mButton);
por lo que llevará más tiempo en comparación con Visibilidad = invisible.
Respuestas:
INVISIBLE:
IDO:
fuente
display:none
yvisibility:hidden
en HTML / CSS :-)De la documentación puedes decir que
Vamos a aclarar la idea con algunas fotos.
Suponga que tiene tres botones, como a continuación
Ahora, si configura la visibilidad del Botón Dos como invisible (
View.INVISIBLE
), la salida seráY cuando configura la visibilidad del Botón Dos como desaparecida (
View.GONE
), la salida seráEspero que esto aclare tus dudas.
fuente
Para ListView o GridView hay otra diferencia, cuando la visibilidad se establece inicialmente en
INVISIBLE:
IDO:
fuente
INVISIBLE:
la vista debe dibujarse y lleva tiempo.
IDA:
no es necesario dibujar la vista.
fuente
Me gustaría agregar a las respuestas correctas y exitosas, que si inicializa una vista con visibilidad como
View.GONE
, la vista podría no haberse inicializado y obtendrá algunos errores aleatorios.Por ejemplo, si inicializa un diseño como
View.GONE
y luego intenta iniciar una animación, desde mi experiencia, tengo mi animación trabajando aleatoriamente. Aveces si aveces no.Entonces, antes de manejar (cambiar el tamaño, mover, lo que sea) una vista, debe iniciarla como
View.VISIBLE
oView.INVISIBLE
representarla (dibujarla) en la pantalla y luego manejarla.fuente
GONE
cuando lo hace Desaparecido cada vez que se compila el programa, el componente se inicializa, lo que significa que está eliminando el componente del diseño y cuando lo hace invisible, ocupará el mismo espacio en el diseño, pero cada vez que no necesite inicializarlo .
si configura Visibility = Gone, entonces debe inicializar el componente ... como
por ejemplo, Botón _mButton = botón nuevo (esto);
_mButton = (Botón) findViewByid (R.id.mButton);
por lo que llevará más tiempo en comparación con Visibilidad = invisible.
fuente
View.INVISIBLE -> La vista es invisible pero ocupará algo de espacio en el diseño
View.GONE -> La vista no es visible y no ocupará ningún espacio en el diseño
fuente
View.GONE = La vista no se mostrará y el resto de las vistas no tendrá en cuenta su existencia
View.INVISIBLE = La vista no se mostrará, pero ocupará el espacio asignado en el diseño
fuente