Qual é a diferença entre invisible
e gone
para o status de visibilidade da exibição?
android
android-xml
xml-attribute
Roubar
fonte
fonte
Respostas:
INVISÍVEL:
FOI:
fonte
display:none
&visibility:hidden
em HTML / CSS :-)Na documentação, você pode dizer que
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.
fonte
Para ListView ou GridView, há outra diferença, quando a visibilidade é inicialmente definida como
INVISÍVEL:
FOI:
fonte
INVISÍVEL:
A vista precisa ser desenhada e leva tempo.
GONE:
A vista não precisa ser desenhada.
fonte
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
ouView.INVISIBLE
renderizá-la (desenhá-la) na tela e manipular.fonte
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.
fonte
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
fonte
View.GONE = A visualização não será exibida e o restante das visualizações não levará em consideração sua existência
View.INVISIBLE = A visualização não será exibida, mas ocupará o espaço atribuído no layout
fonte