Яка різниця між ViewFlipper та ViewSwitcher


89

Вони обоє успадковують ViewAnimator. Я знаю, що ViewSwitcherдозволяє лише два погляди, тоді як ViewFlipperдозволяє більше. Але чому Android створив ViewSwitcher, якщо це просто a ViewFlipperз 2 переглядами? Чи є інші відмінності? За якої умови буде використовуватися один, який перевершує іншого?

Відповіді:


84

З того, що я можу сказати, ViewSwitcher використовується, якщо ви хочете переключатися між двома переглядами, як ви вже сказали. Корисно, якщо у вас є 2 погляди, що вам доведеться досить регулярно переходити вперед і назад. І клас реалізує ViewFactory, якщо ви хочете ним скористатися.

Однак ViewFlipper можна використовувати, якщо ви хочете періодично змінювати подання. Скажімо, як якась автоматизована книга, що гортає. Хоча галерея спеціальних адаптерів набагато краща в цьому.

І так, це все. Вони насправді не набагато корисніші, ніж ViewAnimator. Чому розробка Android робить що-небудь для мене справді загадкою.

Зазвичай я б просто віддав перевагу використанню ViewAnimator, оскільки це дає вам більше свободи і, отже, гнучкість у дизайні. Але якщо вам потрібні такі функції, як ViewFactory, і у вас є лише 2 перегляди, використовуйте ViewSwitcher. Якщо ви хочете мати можливість періодично змінювати подання, використовуйте ViewFlipper. Якщо вам не потрібно, використовуйте ViewAnimator.


Впровадивши фліппер подання, який містить приблизно 10 власних переглядів переважно тексту, і чекаючи 5 секунд першого завантаження, я думаю, що перевага фабрики переглядів полягає в пришвидшенні ініціалізації. Я також отримую повільну реакцію на кнопки вперед і назад. Щось не так з ViewAnimator, не впевнений, чому це може зайняти так багато часу. Пізніше цього тижня я сформулюю його за допомогою Traceview і надішлю назад те, що дізнався.
William T. Mallard

@ WilliamT.Mallard Зараз 2020.
Мітч,

13

ViewFlipper підтримує більше двох видів, ViewSwitcher підтримує лише 2.


36
Чи не в цьому було питання :)
paweloque

7

Я не впевнений, чи є між ними якісь великі відмінності, але з того, що я зібрав, різниця полягає в тому, що ViewSwitcher використовується в обставинах, коли подання однакове, але дані різні - як у програмі календаря - ми просто зміна даних у поданні.


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.