web-dev-qa-db-fra.com

Android animation page Curl

  1. Existe-t-il un moyen simple de faire l'animation de retournement de page Curl? Une animation Curl est une animation de pages retournées, y compris la page au-dessus du roulement et les ombres sur la page inférieure.
  2. Quelle est la méthode recommandée pour créer une "galerie" qui affiche deux pages à la fois (comme un livre)?

    Est-ce:

    1. Laisser l'adaptateur afficher une disposition linéaire de deux images à la fois? (ça ne me permettra pas de montrer une page en retournant l'autre comme un livre)
    2. En utilisant deux pages, en les plaçant l'une près de l'autre, puis quand il est temps d'animer - déplacer les deux pages suivantes? Quelle est la meilleure façon qui permettrait d'afficher la page de gauche en retournant la page de droite?
58
Meymann

J'implémente une boucle de page 2D dans le canevas natif. Vérifiez ma réponse dans: Implémenter la boucle de page sur Android?

EDIT: Le projet de code de mon implémentation: http://code.google.com/p/Android-page-curl/ EDIT2: Liens mis à jour

23
Moss

J'utilise ce code. C'est vraiment vraiment parfait pour tout le monde à comprendre et à utiliser. Merci beaucoup à Harism

Lien GitHub pour l'animation de la boucle de page dans Android avec OpenGL

6
Arslan Anwar

Je n'ai pas travaillé sur le Android auparavant, mais il me semble que la meilleure façon de faire un type d'affichage de retournement de page serait de le dessiner en trois couches. La première étant celle de la première page texte, le deuxième étant la "page" en dessous, et le troisième étant la page suivante. Si vous les dessinez de l'arrière vers l'avant, la seule chose que l'utilisateur verra sera le texte sur la première page.

Maintenant, une fois que vous avez cela, vous voudrez faire une sorte d'animation de curling/flipping en fonction des contrôles que vous utilisez. Choisissez simplement la méthode qui vous convient le mieux pour faire cette animation, mais pendant que vous le faites, ayez la partie de la page qui n'y est plus affichée. Cela vous permettra de voir le texte de la page en dessous (d'accord, j'ai menti. Vous aurez également besoin d'un arrière-plan derrière ce texte).

Le problème à ce stade est que vous dessinez toujours le texte deux fois sur le même espace, vous voudrez donc mélanger le texte de la première page avec l'animation en dessous. De cette façon, le texte qui se trouve au-dessus des sections alpha 0 sera invisible. Il ne se pliera pas avec l'animation, donc cela peut toujours être un problème, mais selon la vitesse du flip, cela pourrait encore être bien. Lorsque l'animation est terminée, définissez simplement la première page = la seconde, l'animation est réinitialisée en blanc uni et la deuxième page = la nouvelle deuxième page.

L'effet d'ombre peut être fait simplement en alpha-partiellement partiellement du noir derrière l'animation du tour de page. Dessinez sur la deuxième page (comme le fait déjà la couche d'animation) et le tour est joué!

Je crois que votre question de deux pages pourrait utiliser une méthode très similaire. Bonne chance

2
Lunin

Il s'agit d'un projet d'animation 3D (basé sur OpenGL 2.0) - http://anettosoftware.co.uk/npc.php

1
Anton