Qual è la differenza tra invisible
e gone
per lo stato di visibilità Visualizza?Android: differenza tra invisibile e andato?
risposta
INVISIBILE:
Questo punto di vista è invisibile, ma ci vuole ancora spazio per il layout.
GONE:
Questo punto di vista è invisibile, e non ci vuole alcuno spazio per il layout.
Sembra analogo a 'display: none' e' visibility: hidden' in HTML/CSS :-) – anishsane
Per ListView o GridView c'è un altro differenza, quando la visibilità inizialmente impostato
INVISIBLE: funzione
GetView dell'adattatore() chiamato
GONE:
Adattatore ge Funzione Tview() non ha chiamato, impedendo così una vista da caricare, quando non è necessario
Da Documentation si può dire che
View.GONE Questo punto di vista è invisibile, e non richiede spazio per gli scopi di layout .
View.INVISIBLE Questo punto di vista è invisibile, ma ci vuole ancora spazio per il layout.
Consente chiara l'idea con alcune immagini.
Supponiamo di avere tre pulsanti, come qui di seguito
Ora, se si imposta la visibilità di Button Due invisibile (View.INVISIBLE
), poi uscita sarà
E quando si imposta la visibilità di Button Due come andato (View.GONE
) allora l'uscita sarà
Spero che questo sarà chiarire i vostri dubbi.
L'idea deve essere cancellata? Mi sembra abbastanza chiaro solo dalla spiegazione. –
@JanDvorak :) Ottimo! Non ho una risposta per la tua domanda. Se ritieni che questo sia stato molto chiaro per tutti gli utenti, la risposta accettata dovrebbe essere un commento e avere un link al sito della documentazione. Ho ragione? –
Grazie a @PankajKumar per l'esempio. –
Vorrei aggiungere alle risposte corrette e di successo, che se si inizializza una vista con visibilità come View.GONE
, la vista potrebbe non essere stata inizializzata e si otterranno alcuni errori casuali.
Ad esempio se si inizializza un layout come View.GONE
e quindi si tenta di avviare un'animazione, dalla mia esperienza ho ottenuto il mio animazione in modo casuale volte. A volte sì, a volte no.
Quindi, prima di maneggiare (il ridimensionamento, spostamento, qualunque sia) una vista, è necessario init come View.VISIBLE
o View.INVISIBLE
per renderlo (disegnare) nello schermo, e poi gestirlo.
quando lo si fa Andato ogni volta che si compila il programma il componente viene inizializzato che significa che si rimuove il componente dal layout e quando lo si rende invisibile il componente occuperà lo stesso spazio nel layout ma ogni volta che non lo si è necessario inizializzarlo.
se si imposta Visibilità = Andato poi si deve inizializzare il component..like
ad esempio Button _mButton = new Button (questo);
_mButton = (Button) findViewByid (R.id.mButton);
quindi ci vorrà più tempo rispetto a Visibilità = invisibile.
View.INVISIBLE -> The View è invisibile ma occuperà po 'di spazio nel layout
View.GONE -> The View non è visibile e non sarà occupare qualsiasi spazio nel layout
Quando una View è andato, significa che non occupa spazio nel layout. Quando è invisibile, prenderà la stanza necessaria in un layout ma semplicemente non la vedrai. – DroidBender