Respostas:
INVISÍVEL:
Essa visualização é invisível, mas ainda ocupa espaço para fins de layout.
FOI:
Essa visualização é invisível e não ocupa espaço para fins de layout.
display:none
& visibility:hidden
em HTML / CSS :-)
Na documentação, você pode dizer que
View.GONE Esta visualização é invisível e não ocupa espaço para propósitos de layout.
Visão.INVISÍVEL Esta visão é invisível, mas ainda ocupa espaço para fins de layout.
Vamos esclarecer a idéia com algumas fotos.
Suponha que você tenha três botões, como abaixo
Agora, se você definir a visibilidade do Botão Dois como invisível ( View.INVISIBLE
), a saída será
E quando você define a visibilidade do Botão Dois como desapareceu ( View.GONE
), a saída será
Espero que isso esclareça suas dúvidas.
Gostaria de acrescentar às respostas corretas e bem-sucedidas que, se você inicializar uma visualização com visibilidade como View.GONE
, a exibição pode não ter sido inicializada e você receberá alguns erros aleatórios.
Por exemplo, se você inicializar um layout View.GONE
e tentar iniciar uma animação, pela minha experiência, minha animação funcionará aleatoriamente. Às vezes sim, às vezes não.
Portanto, antes de manipular (redimensionar, mover, qualquer que seja) uma visão, você deve iniciá-la como View.VISIBLE
ou View.INVISIBLE
renderizá-la (desenhá-la) na tela e manipular.
GONE
Quando você o faz Toda vez que a compilação do programa é inicializada, o componente é inicializado, o que significa que você está removendo o componente do layout e quando o torna invisível, o componente ocupa o mesmo espaço no layout, mas toda vez que você não precisa inicializá-lo .
se você definir Visibility = Gone, precisará inicializar o componente.
por exemplo, Button _mButton = new Button (this);
_mButton = (Botão) findViewByid (R.id.mButton);
portanto, levará mais tempo em comparação com Visibilidade = invisível.
View.INVISIBLE -> O View é invisível, mas ocupará algum espaço no layout
View.GONE -> A View não está visível e não ocupará nenhum espaço no layout