Was ist der Unterschied zwischen invisible
und gone
für den Sichtbarkeitsstatus der Ansicht?
android
android-xml
xml-attribute
rauben
quelle
quelle
Antworten:
UNSICHTBAR:
WEG:
quelle
display:none
&visibility:hidden
in HTML / CSS :-)Aus der Dokumentation können Sie das sagen
Lassen Sie uns die Idee mit einigen Bildern klären.
Angenommen, Sie haben drei Schaltflächen, wie unten
Wenn Sie nun die Sichtbarkeit von Schaltfläche Zwei als unsichtbar (
View.INVISIBLE
) festlegen , wird die Ausgabe ausgeführtUnd wenn Sie die Sichtbarkeit von Button Zwei als weg (
View.GONE
) festlegen, wird die Ausgabe ausgeführtHoffe, dies wird Ihre Zweifel klären.
quelle
Für ListView oder GridView gibt es einen weiteren Unterschied, wenn die Sichtbarkeit anfänglich auf eingestellt ist
UNSICHTBAR:
WEG:
quelle
UNSICHTBAR:
Die Ansicht muss gezeichnet werden und es braucht Zeit.
GONE:
Die Ansicht muss nicht gezeichnet werden.
quelle
Ich möchte den richtigen und erfolgreichen Antworten hinzufügen, dass, wenn Sie eine Ansicht mit Sichtbarkeit als initialisieren
View.GONE
, die Ansicht möglicherweise nicht initialisiert wurde und Sie einige zufällige Fehler erhalten.Wenn Sie beispielsweise ein Layout als initialisieren
View.GONE
und dann versuchen, eine Animation zu starten, funktioniert meine Animation meiner Erfahrung nach zufällig. Manchmal ja manchmal nein.Bevor Sie eine Ansicht bearbeiten (Größe ändern, verschieben, was auch immer), müssen Sie sie als
View.VISIBLE
oderView.INVISIBLE
auf dem Bildschirm rendern oder rendern (zeichnen) und dann bearbeiten.quelle
GONE
Wenn Sie es bei jeder Kompilierung des Programms deaktivieren, wird die Komponente initialisiert. Dies bedeutet, dass Sie die Komponente aus dem Layout entfernen. Wenn Sie sie unsichtbar machen, nimmt die Komponente denselben Platz im Layout ein, aber jedes Mal, wenn Sie sie nicht initialisieren müssen .
Wenn Sie Visibility = Gone setzen, müssen Sie die Komponente initialisieren
zB Button _mButton = neuer Button (this);
_mButton = (Button) findViewByid (R.id.mButton);
Daher dauert es im Vergleich zu Sichtbarkeit = unsichtbar länger.
quelle
View.INVISIBLE -> Die Ansicht ist unsichtbar, nimmt jedoch etwas Platz im Layout ein
View.GONE -> Die Ansicht ist nicht sichtbar und belegt keinen Platz im Layout
quelle
View.GONE = Die Ansicht wird nicht angezeigt und der Rest der Ansichten berücksichtigt ihre Existenz nicht
View.INVISIBLE = Die Ansicht wird nicht angezeigt, nimmt jedoch den zugewiesenen Platz im Layout ein
quelle