web-dev-qa-db-fra.com

Android: ViewFlipper ou ViewPager - Quelle est la meilleure option?

Je suis coincé dans une étape. J'ai un total de 20 à 25 images qui devraient être animées comme ViewPager. Maintenant, sur toutes les images, j'ai des événements onClick() et je ne sais pas si je dois travailler avec ViewPager ou ViewFlipper. Je peux mettre en œuvre les deux choses, aucun problème ici.

Ce que je veux: Je veux juste une suggestion que selon mon problème, quelle sera la meilleure option, ViewFlipper ou ViewPager?

Ce que j'ai recherché: J'ai parcouru différents liens sur StackOverflow, à savoir Comment améliorer les performances de ViewFlipper/ViewAnimator et ViewFlipper vs Fragments , mais je n'ai pas trouvé ce que je voulais.

J'ai un peu travaillé avec ViewPager, mais à ce moment-là il n'y avait que 3 ou 4 Fragments que je devais gérer. Si je devais l'utiliser pour résoudre ce problème, je dois gérer 25 Fragments cette fois. Je me demande donc s'il existe une meilleure solution disponible.

J'ai aussi fait un peu de R&D sur ViewFliper et je sais qu'il n'en a qu'un seul Activity que je dois gérer mais il n'a pas la précision d'animation que ViewPager a.

Veuillez me suggérer si je devrais opter pour ViewPager ou ViewFlipper?

Merci d'avance.

26
Bhavesh Patadiya

intro: À première vue, je recommanderais Gallery widget au lieu de ViewFlipper mais il est déprécié (0.o) depuis JellyBean (API 16), probablement à cause d'un mauvais recyclage de l'implémentation des éléments non visibles.

answer: Ce que vous devriez vraiment utiliser maintenant est ViewPager ou HorizontalScrollView . Dans votre cas (malgré pas trop de détails), je pense que c'est mieux ViewPager car selon la documentation:

.. HorizontalScrollView est un FrameLayout, ce qui signifie que vous devez y placer un enfant, contenant tout le contenu à faire défiler.

De l'autre côté pour ViewPager vous devez implémenter PagerAdapter pour générer des pages qui seront affichées dans cette vue.

Ma réponse finale est [~ # ~] a [~ # ~], ViewPager ;)

J'espère que vous trouverez cela utile;) Cheers

33
Ewoks