studio - Android: ¿diferencia entre lo invisible y lo ido?
tools showin android studio (7)
De la Documentation se puede decir que
View.GONE Esta vista es invisible y no ocupa espacio para fines de diseño.
Vista.INVISIBLE Esta vista es invisible, pero aún ocupa espacio para propósitos de diseño.
Vamos a aclarar la idea con algunas fotos.
Supongamos que tiene tres botones, como abajo
Ahora, si configura la visibilidad del Botón Dos como invisible ( View.INVISIBLE
), entonces la salida será
Y cuando establezca que la visibilidad del Botón Dos haya desaparecido ( View.GONE
), la salida será
Espero que esto aclare tus dudas.
¿Cuál es la diferencia entre lo invisible
y lo gone
para el estado de visibilidad de la vista?
INVISIBLE:
Esta vista es invisible, pero aún ocupa espacio para propósitos de diseño.
IDO:
Esta vista es invisible y no ocupa espacio para fines de diseño.
INVISIBLE:
La vista tiene que ser dibujada y lleva tiempo.
IDO:
La vista no tiene que ser dibujada.
Me gustaría agregar a las respuestas correctas y correctas, 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 al azar varias veces. Aveces si aveces no.
Así que antes de manejar (cambiar el tamaño, mover, lo que sea) una vista, debe View.VISIBLE
como View.VISIBLE
o View.INVISIBLE
para representarla (dibujarla) en la pantalla y luego manejarla.
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ó, lo que impide que las vistas se carguen cuando no es necesario
cuando se desactiva 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, tomará el mismo espacio en el diseño, pero cada vez que no necesite inicializarlo .
Si configura Visibilidad = Desaparecido, entonces tiene que inicializar el componente ... como
por ejemplo, Botón _mButton = nuevo Botón (este);
_mButton = (Button) findViewByid (R.id.mButton);
por lo que tomará más tiempo en comparación con Visibilidad = invisible.
Vista.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