Partage
  • Partager sur Facebook
  • Partager sur Twitter

[Android] Animation d'un changement de page d'un reader de P

Sujet résolu
    15 mars 2012 à 10:39:11

    Bonjour,

    Après plusieurs recherches et tests, je me tourne vers vous. Je ne parviens pas à trouver une solution à mon problème :

    Dans le cadre de mon stage, il m'a été demandé de programmer un reader PDF pour android de la manière la plus optimisée et fluide possible. Après deux semaines de boulot, je suis parvenu à un résultat qui utilise le modèle MVC. J'ai 2 vues : une pour le pdf et l'autre pour l'image du pdf qui se superposent. Elles sont toutes les 2 à l'écoute d'un modèle qui leur permettent d'avoir les mêmes dimensions pour les zooms et autres manipulations. Et un contrôleur qui effectue les opérations sur les vues. (En gros, MVC )

    Mon souci vient du faite que je dois me calquer au rendu de leur application iPad (qui ressemble beaucoup au reader iPad de base) en ayant une animation lors du scroll horizontal (c'est-à-dire voir la page suivante/précédent en prévisualisation). Et là vient mon problème :

    Actuellement, mes 2 vues se redésinnent en fonction du modèle. Je n'ai donc pas plusieurs vues l'un à côté de l'autre qui me permettrait de scroller.

    Je ne demande pas la solution mais je commence à être à court d'idées après toutes les solutions que j'ai essayé. Si des gens ont des idées, des pistes de solutions. Je suis preneur.

    Merci d'avance.
    • Partager sur Facebook
    • Partager sur Twitter
    Si vous voulez me retrouver, rendez-vous sur ZesteDeSavoir.
      15 mars 2012 à 20:02:09

      Euuh, peut-être que je dis une idiotie, mais as-tu été fouiner du côté des bibliothèques d'animation ?
      • Partager sur Facebook
      • Partager sur Twitter

      Ancien validateur du SdZ.

        15 mars 2012 à 21:09:17

        Bonjour,

        Au stade où j'en suis, il n'existe pas d'idiotie mais j'ai bien sûr déjà exploré cette voie. Dans mon cas, elle ne va pas puisque je n'ai qu'une seule vue qui se re-dessine.

        Pour le moment, je planche sur une architecture qui me permettrait d'avoir une vue pour chaque page de mon reader parce que je suis tombé sur ViewPager qui semble de plus en plus une solution possible. Dans tous les cas, je reviendrais sur le site du zéro soit pour demander à nouveau de l'aide soit pour donner la solution à mon problème :)
        • Partager sur Facebook
        • Partager sur Twitter
        Si vous voulez me retrouver, rendez-vous sur ZesteDeSavoir.
          15 mars 2012 à 22:11:53

          Bonsoir,

          Regarde du côté des ViewFlipper combinés à un OnTouchListener et à un SimpleOnGestureListenerpour le défilement.

          J'avais utilisé ça pour faire un diaporama d'images. Peut être que tu peux l'adapter pour faire défiler les pages de ton PDF.
          • Partager sur Facebook
          • Partager sur Twitter
            15 mars 2012 à 22:58:12

            Bonsoir,

            Ouaip, j'avais trouvé cette solution aussi mais ViewPager semble faire la même chose mais en gardant en mémoire la page suivante/précédente automatiquement et avec les animations intégrées directement dans le container qui donne l'effet de scrolling (à la iOS vu que je dois me calquer dessus).

            Si je ne parviens pas à intégrer ViewPager, je me pencherais sur cette solution.

            Cela dit, merci de ta réponse.
            • Partager sur Facebook
            • Partager sur Twitter
            Si vous voulez me retrouver, rendez-vous sur ZesteDeSavoir.
              19 mars 2012 à 12:07:09

              Bonjour à tous,

              Je reviens vers vous pour vous faire partager la solution trouvée :

              Le problème de base était de trouver un moyen pour effectuer une animation dans le swipe entre les pages.
              Pour remédier à ce problème, j'ai eu l'idée d’étendre soit Gallery ou ViewPager. J'ai choisi d'utiliser ViewPager.

              J'avais 2 vues à la base que je superposais. Au dessus le pdf, en dessous l'image.
              J'ai donc revu ça :
              • Première couche : Affichage du PDF courant (à l'écoute du modèle).
              • Deuxième couche : Container ViewPager qui gère le swipe avec une animation.
              • Troisième couche : Image du pdf courant dans l'adapter du ViewPager.

              Cependant, j'ai rencontré un autre problème par la suite. De base :
              • La première couche gérait le scroll vertical, le zoom à 2 doigts et au double tap
              • La deuxième couche gérait le swipe

              Le problème reposait dans le fait que le pdf captait d'office l’évènement et ne permettait donc pas le swipe.
              J'ai alors eu l'idée de changer les responsabilités :
              • La deuxième couche gère toujours le swipe
              • Et c'est la troisième couche qui gère le reste

              Le widget ViewPager étant assez malin pour comprendre que l'utilisateur ne veut pas swiper, cette solution marche très bien.
              Voilà, voilà :)
              • Partager sur Facebook
              • Partager sur Twitter
              Si vous voulez me retrouver, rendez-vous sur ZesteDeSavoir.
                19 mars 2012 à 22:03:14

                Merci beaucoup du partage de ta solution ! C'est très gentil à toi ! :)
                • Partager sur Facebook
                • Partager sur Twitter

                Ancien validateur du SdZ.

                [Android] Animation d'un changement de page d'un reader de P

                × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                • Editeur
                • Markdown