Was ist der Unterschied zwischen View.INVISIBLE
und View.GONE
für den Sichtbarkeitsstatus anzeigen?
Android : Unterschied zwischen View.GONE und View.INVISIBLE?
rauben
UNSICHTBAR:
Diese Ansicht ist unsichtbar, nimmt aber dennoch Platz für Layoutzwecke ein.
WEG:
Diese Ansicht ist unsichtbar und nimmt für Layoutzwecke keinen Platz ein.
-
Sieht aus wie analog
display:none
&visibility:hidden
in HTML/CSS 🙂– Anishane
30. Januar 2014 um 6:18 Uhr
-
Oder zu Hidden and Collapsed in Wpf XAML
– juliushuk
19. August 2018 um 1:00 Uhr
-
Wenn es unsichtbar ist, wird es auch deaktiviert, wenn Sie darauf klicken?
– Kuldeep Yadav
2. November 2018 um 1:09 Uhr
-
@KuldeepYadav ja, es wird sowohl weg als auch unsichtbar sein.
– Steve Moretz
6. Februar 2019 um 11:26 Uhr
-
Nur für zukünftige neugierige Leser: Wir können performItemClick immer noch in Listen-/Rasteransichten verwenden, auch wenn es unsichtbar ist.
– kiranking
22. Februar 2019 um 21:12 Uhr
Pankaj Kumar
Aus Dokumentation das kannst du sagen
View.GONE Diese Ansicht ist unsichtbar und nimmt für Layoutzwecke keinen Platz ein.
Ansehen.UNSICHTBAR Diese Ansicht ist unsichtbar, nimmt aber dennoch Platz für Layoutzwecke ein.
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 festlegen (View.INVISIBLE
), dann wird die Ausgabe sein
Und wenn Sie die Sichtbarkeit von Schaltfläche Zwei auf „weg“ setzen (View.GONE
) dann wird die Ausgabe sein
Ich hoffe, dies wird Ihre Zweifel ausräumen.
-
Muss die Idee geklärt werden? Es scheint mir nur aus der Erklärung klar genug zu sein.
– John Dvorak
12. März 2015 um 5:59 Uhr
-
@JanDvorak 🙂 Großartig! Ich habe keine Antwort auf Ihre Frage. Wenn Sie der Meinung sind, dass dies für alle Benutzer sehr klar war, sollte die akzeptierte Antwort ein Kommentar sein und einen Link zur Dokumentationsseite enthalten. Hab ich recht?
– Pankaj Kumar
12. März 2015 um 6:09 Uhr
-
was ist, wenn ich es für edittext verwende. Ist es möglich, den Wert von edittext zu erhalten?
– Asch
16. Juli 2019 um 11:28 Uhr
-
Ihre Antwort ist besser als die akzeptierte Antwort.
– Samudra Ganguly
25. Mai 2021 um 6:42 Uhr
-
Bilder sprechen mehr als Worte
– Gaju Kollur
4. Juli 2021 um 16:24 Uhr
Für ListView oder GridView gibt es einen weiteren Unterschied, wenn die Sichtbarkeit anfänglich auf eingestellt ist
UNSICHTBAR:
GetView()-Funktion des Adapters aufgerufen
WEG:
Die Funktion getView() des Adapters wurde nicht aufgerufen, wodurch verhindert wird, dass Ansichten geladen werden, wenn dies unnötig ist
UNSICHTBAR:
Der Blick muss gezeichnet werden und das braucht Zeit.
WEG:
Die Ansicht muss nicht gezeichnet werden.
Ich möchte zu den richtigen und erfolgreichen Antworten hinzufügen, dass Sie eine Ansicht mit Sichtbarkeit als initialisieren View.GONE
könnte die Ansicht nicht initialisiert worden sein und Sie erhalten einige zufällige Fehler.
Wenn Sie beispielsweise ein Layout initialisieren als View.GONE
und dann versuchst du eine animation zu starten, aus meiner erfahrung hab ich meine animation zufällig mal zum laufen bekommen. Manchmal ja manchmal nein.
Bevor Sie also eine Ansicht handhaben (Größe ändern, verschieben, was auch immer), müssen Sie sie als initialisieren View.VISIBLE
oder View.INVISIBLE
um es auf dem Bildschirm zu rendern (zu zeichnen) und dann damit umzugehen.
-
Ja, du hast Recht, es funktioniert nur manchmal, wenn Sicht ist
GONE
– Suraj Bahadur
17. Juli 2019 um 7:58 Uhr
Ramesh R
Wenn Sie es bei jeder Kompilierung des Programms weg machen, wird die Komponente initialisiert, was bedeutet, dass Sie die Komponente aus dem Layout entfernen, und wenn Sie sie unsichtbar machen, nimmt die Komponente den gleichen Platz im Layout ein, aber jedes Mal, wenn Sie dies nicht tun müssen es initialisieren.
Wenn Sie Visibility=Gone setzen, müssen Sie die Komponente initialisieren
z.B
Button _mButton = new Button(this);
_mButton = (Button)findViewByid(R.id.mButton);
es wird also mehr Zeit in Anspruch nehmen als bei Sichtbarkeit = unsichtbar.
-
Ja, du hast Recht, es funktioniert nur manchmal, wenn Sicht ist
GONE
– Suraj Bahadur
17. Juli 2019 um 7:58 Uhr
Yugandhar Vadlamudi
-
Ansehen.UNSICHTBAR->Die Ansicht ist unsichtbar, nimmt aber etwas Platz im Layout ein
-
View.GONE->Die Ansicht ist nicht sichtbar und nimmt keinen Platz im Layout ein
Wenn eine Ansicht weg ist, bedeutet dies, dass sie keinen Platz im Layout einnimmt. Wenn es unsichtbar ist, nimmt es den nötigen Platz in einem Layout ein, aber Sie sehen es einfach nicht.
– DroidBender
19. Juli 2012 um 8:16 Uhr