Jaka jest różnica między ViewFlipper a ViewSwitcher

89

Oboje dziedziczą ViewAnimator. Wiem, że ViewSwitcherpozwala to tylko na dwa widoki, a ViewFlipperpozwala na więcej. Ale dlaczego stworzył Android ViewSwitcher, skoro jest to tylko ViewFlipper2 widoki? Czy są jakieś inne różnice? Pod jakim warunkiem będzie używać jednego przełożonego niż drugiego?

user412759
źródło

Odpowiedzi:

84

Z tego, co wiem, ViewSwitcher jest używany, jeśli chcesz przełączać się między dwoma widokami, tak jak powiedziałeś. Przydatne, jeśli masz 2 widoki, które musisz dość regularnie przeglądać w tę iz powrotem. Klasa implementuje ViewFactory, jeśli chcesz jej użyć.

Jednak ViewFlipper może być używany, jeśli chcesz okresowo zmieniać widoki. Powiedz jak automat do przewracania książki. Chociaż galeria niestandardowych adapterów jest w tym znacznie lepsza.

I tak, to wszystko. Naprawdę nie są one bardziej przydatne niż ViewAnimator. Dlaczego rozwój Androida coś zmienia, jest dla mnie naprawdę tajemnicą.

Normalnie wolałbym po prostu używać ViewAnimator, ponieważ zapewnia on większą swobodę, a tym samym elastyczność w projektowaniu. Ale jeśli potrzebujesz funkcji takich jak ViewFactory i masz tylko 2 widoki, użyj ViewSwitcher. Jeśli chcesz mieć możliwość okresowej zmiany widoków, użyj ViewFlipper. Jeśli nie potrzebujesz, użyj ViewAnimator.

alexanderjslin
źródło
Po zaimplementowaniu flippera widoku, który zawiera około 10 niestandardowych widoków głównie tekstu i czekaniu przez 5 sekund na pierwsze załadowanie, myślę, że zaletą fabryki widoków jest szybsza inicjalizacja. Wolniej reaguję również na przyciski do przodu i do tyłu. Coś jest nie tak z ViewAnimator, nie wiem, dlaczego powinno to trwać tak długo. Będę go sprofilować za pomocą traceview pod koniec tego tygodnia i wrócę z tym, czego się dowiedziałem.
William T. Mallard
@ WilliamT.Mallard Jest rok 2020.
Mitch
13

ViewFlipper obsługuje więcej niż dwa widoki, ViewSwitcher obsługuje tylko 2.

Evan R.
źródło
36
Czy to nie było pytanie :)
paweloque
7

Nie jestem pewien, czy są między nimi jakieś duże różnice, ale z tego, co zebrałem, różnica polega na tym, że ViewSwitcher jest używany w okolicznościach, w których widok jest taki sam, ale dane są inne - jak w aplikacji kalendarza - jesteśmy po prostu zmiana danych w widoku.

digitalWestie
źródło