Was ist der Unterschied zwischen ViewFlipper und ViewSwitcher?

88

Sie erben beide ViewAnimator. Ich weiß, ViewSwitcherdass nur zwei Ansichten zulässig sind, während ViewFlippermehr zulässig sind. Aber warum hat Android erstellt ViewSwitcher, wenn es nur ein ViewFlippermit 2 Ansichten ist? Gibt es noch andere Unterschiede? Unter welchen Bedingungen wird der eine Vorgesetzte als der andere verwendet?

user412759
quelle

Antworten:

82

Soweit ich weiß, wird ViewSwitcher verwendet, wenn Sie wie gesagt zwischen zwei Ansichten wechseln möchten. Nützlich, wenn Sie 2 Ansichten haben, die Sie ziemlich regelmäßig hin und her gehen müssen. Und die Klasse implementiert eine ViewFactory, wenn Sie sie verwenden möchten.

ViewFlipper kann jedoch verwendet werden, wenn Sie die Ansichten regelmäßig ändern möchten. Sagen wir wie ein automatisiertes Umblättern. Eine benutzerdefinierte Adaptergalerie ist hier jedoch viel besser.

Und ja, das ist alles. Sie sind wirklich nicht viel nützlicher als der ViewAnimator. Warum die Android-Entwicklung irgendetwas macht, ist mir wirklich ein Rätsel.

Normalerweise würde ich nur die Verwendung eines ViewAnimators bevorzugen, da dieser Ihnen mehr Freiheit und damit Flexibilität bei der Gestaltung bietet. Wenn Sie jedoch Funktionen wie die ViewFactory möchten und nur zwei Ansichten haben, verwenden Sie den ViewSwitcher. Wenn Sie Ansichten regelmäßig ändern möchten, verwenden Sie ViewFlipper. Wenn Sie keinen benötigen, verwenden Sie einen ViewAnimator.

alexanderjslin
quelle
Nachdem ich einen Ansichtsflipper implementiert habe, der ungefähr 10 benutzerdefinierte Ansichten mit hauptsächlich Text enthält, und 5 Sekunden auf das erste Laden gewartet habe, denke ich, dass der Vorteil einer Ansichtsfactory darin besteht, die Initialisierung zu beschleunigen. Ich bekomme auch eine langsame Reaktion auf Vorwärts- und Rückwärts-Tasten. Mit dem ViewAnimator stimmt etwas nicht, nicht sicher, warum es so lange dauern sollte. Ich werde es später in dieser Woche mit Traceview profilieren und mit dem, was ich gelernt habe, zurückschicken.
William T. Mallard
@ WilliamT.Mallard Es ist 2020.
Mitch
@Mitch Ich habe einen Verstand wie ein Stahlsieb.
William T. Mallard
13

ViewFlipper unterstützt mehr als zwei Ansichten, ViewSwitcher unterstützt nur 2.

Evan R.
quelle
35
War das nicht die Frage :)
paweloque
7

Ich bin mir nicht sicher, ob es große Unterschiede zwischen ihnen gibt, aber nach dem, was ich gesammelt habe, besteht der Unterschied darin, dass ViewSwitcher unter Umständen verwendet wird, bei denen die Ansicht gleich ist, die Daten jedoch unterschiedlich sind - wie bei einer Kalender-App - wir sind nur Ändern der Daten in der Ansicht.

digitalWestie
quelle