Android: diferencia entre invisible y ido?

¿Cuál es la diferencia entre invisible y gone para el estado de Visibilidad de vista?

INVISIBLE:

Esta vista es invisible, pero todavía ocupa espacio para propósitos de diseño.

IDO:

Esta vista es invisible, y no toma ningún espacio para propósitos de diseño.

De Documentación se puede decir que

View.GONE Esta vista es invisible, y no toma ningún espacio para propósitos de diseño.

View.INVISIBLE Esta vista es invisible, pero todavía ocupa espacio para propósitos de diseño.


Deja claro la idea con algunas fotos.

Suponga que tiene tres botones, como a continuación

Introduzca aquí la descripción de la imagen

Ahora si establece la visibilidad del botón dos como invisible ( View.INVISIBLE ), entonces la salida será

Introduzca aquí la descripción de la imagen

Y cuando View.GONE visibilidad del botón dos como ido ( View.GONE ) entonces la salida será

Introduzca aquí la descripción de la imagen

Espero que esto despeje sus dudas.

Para ListView o GridView hay otra diferencia, cuando la visibilidad inicialmente establecida en

INVISIBLE:

Función getView () del adaptador llamada

IDO:

La función getView () del adaptador no llamó, evitando así que las vistas se carguen, cuando es innecesario

INVISIBLE:
La vista tiene que ser dibujada y toma tiempo.

IDO:
La vista no tiene que ser dibujada.

Me gustaría añadir a las respuestas correctas y exitosas, que si inicializa una vista con visibilidad como View.GONE , la vista podría no haber sido inicializado y obtendrá algunos errores aleatorios.

Por ejemplo, si inicializa un diseño como View.GONE y luego intenta iniciar una animación, de mi experiencia tengo mi animación trabajando aleatoriamente veces. Aveces si aveces no.

Así que antes de manejar (cambiar el tamaño, mover, lo que sea) una vista, tienes que init como View.VISIBLE o View.INVISIBLE para hacerla (dibujar) en la pantalla, y luego manejarlo.

  • View.INVISIBLE -> La vista es invisible, pero ocupará algún espacio en el diseño

  • View.GONE -> La vista no es visible y no ocupará ningún espacio en el diseño

Cuando lo hace Se fue todo el tiempo de la compilación del programa que el componente se inicializa que significa que está quitando el componente de la disposición y cuando lo haces invisible el componente tomará el mismo espacio en el diseño, pero cada vez que no necesita inicializarlo .

Si usted fija Visibility = Gone entonces usted tiene que inicializar el componente … como

Por ejemplo Button _mButton = new Button (this);

_mButton = (Botón) findViewByid (R.id.mButton);

Por lo que tomará más tiempo en comparación con Visibilidad = invisible.

  • ¿Cómo agregar una línea horizontal 1px encima de la vista de la imagen en un diseño relativo?
  • XmlPullParserException La línea del archivo XML binario # 17 tag <vector> requiere viewportWidth> 0
  • ¿Por qué el diálogo personalizado de Android aparece en pantalla completa?
  • Xmlns: android = "http://schemas.android.com/apk/res/android" se agrega a todos mis objetos de diseño causando errores
  • Android Studio: Rendering Problems Faltan estilos-tema correcto elegido para este diseño, No se pudo encontrar estilo con id
  • Android CalendarView desaceleración de diseño
  • Android Imagebutton resplandor de enfoque / tinte de color
  • ¿Qué es android: layout_marginStart
  • Forma rectangular con dos colores sólidos
  • No se encontró ningún identificador de recurso para el atributo 'paddingEnd' en Package 'android'
  • ¿Cuál es la diferencia entre los campos android y android2 en los archivos .xml?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.