Quelle est la différence entre ViewFlipper et ViewSwitcher

88

Ils héritent tous les deux ViewAnimator. Je sais que cela ViewSwitcherne permet que deux vues, alors que cela ViewFlipperpermet plus. Mais pourquoi Android a-t-il créé ViewSwitcher, s'il ne s'agit que d'un ViewFlipperavec 2 vues? Y-a-t'il d'autres différences? À quelle condition utilisera-t-on l'un supérieur à l'autre?

user412759
la source

Réponses:

82

D'après ce que je peux dire, ViewSwitcher est utilisé si vous souhaitez basculer entre deux vues comme vous l'avez dit. Utile si vous avez 2 vues que vous devez aller et venir assez régulièrement. Et la classe implémente une ViewFactory si vous souhaitez l'utiliser.

Cependant, ViewFlipper peut être utilisé si vous souhaitez modifier périodiquement les vues. Dites comme un livre à feuilleter automatisé. Bien qu'une galerie d'adaptateurs personnalisés soit bien meilleure à cet égard.

Et oui, c'est tout. Ils ne sont vraiment pas beaucoup plus utiles que ViewAnimator. Pourquoi le développement Android fait quelque chose est vraiment un mystère pour moi.

Je préférerais normalement simplement utiliser un ViewAnimator car il vous donne plus de liberté et donc de flexibilité dans la façon dont vous concevez. Mais si vous voulez des fonctionnalités telles que ViewFactory et que vous n'avez que 2 vues, utilisez ViewSwitcher. Si vous souhaitez pouvoir modifier périodiquement les vues, utilisez ViewFlipper. Si vous n'en avez pas besoin, utilisez un ViewAnimator.

Alexanderjslin
la source
Après avoir implémenté un flipper de vue qui contient environ 10 vues personnalisées, principalement du texte, et attendre 5 secondes pour le premier chargement, je pense que l'avantage d'une fabrique de vues est de rendre l'initialisation plus rapide. J'obtiens également une réponse lente sur les boutons avant et arrière. Il y a quelque chose qui ne va pas avec ViewAnimator, je ne sais pas pourquoi cela devrait prendre si longtemps. Je le profilerai avec traceview plus tard cette semaine et publierai ce que j'ai appris.
William T.Mallard
@ WilliamT.Mallard C'est 2020.
Mitch
13

ViewFlipper prend en charge plus de deux vues, ViewSwitcher ne prend en charge que 2.

Evan R.
la source
35
N'était-ce pas la question :)
paweloque
7

Je ne sais pas s'il existe de grandes différences entre eux, mais d'après ce que j'ai recueilli, la différence est que ViewSwitcher est utilisé dans des circonstances où la vue est la même mais les données sont différentes - comme sur une application de calendrier - nous sommes juste modifier les données dans la vue.

digitalWestie
la source