play google familiar books bibliotecas biblioteca asistencia java android animation opengl-es

java - familiar - ¿Cómo implemento el tipo de curvatura de página utilizada en Google Play Books?



google play books pc (1)

He estado buscando una forma adecuada de emular el tipo de página volteando / rizando usado en las aplicaciones de iOS pero en una aplicación de Android. Lo más parecido que he visto en Android es la aplicación Google Play Books. ¿Están usando alguna parte del SDK que no he visto? ¿Hay alguna posibilidad de tener en mis manos una implementación similar?

La mayoría de los ejemplos que he visto están construidos usando algún tipo de RenderView basado en OpenGL. Eso probablemente funcionaría, pero tendría que asegurarme de que la pantalla no se renderice en vano, ya que no quiero usar demasiada energía. También tengo un poco miedo de usar OpenGL cuando manejo texturas que no son pow2.

Saludos cordiales, Kalle


Tienes que usar OpenGl para hacer tal efecto en Android y debes usar la siguiente ecuación de gráfico sinusoidal común:

y = Asin (2π / λ * x)

Dónde,

A = Amplitud (es decir, la elevación del rizo que queremos).

λ = Longitud de onda (es decir, la longitud del rizo que queremos).

x = La variable del eje X que cambiará a medida que mueva la página.

Tienes que dibujar 3 páginas en SurfaceView a saber ''LeftPage'', ''CenterPage'' y ''RightPage'', ''CenterPage'' siempre está visible y es responsable de la animación ''right curl'' mientras que ''LeftPage'' es responsable de la animación ''left curl'' y '' RightPage ''solo permanece estático. Para detectar gestos, use la clase predeterminada GestureDetector.

Puede descargar la muestra desde aquí .