Estaba navegando por la red buscando un buen efecto para pasar páginas en Android y simplemente no parece ser una. Desde que estoy aprendiendo la plataforma, me pareció que algo bueno poder hacer es esto.¿Implementar la página curl en Android?
he conseguido encontrar una página aquí: http://wdnuon.blogspot.com/2010/05/implementing-ibooks-page-curling-using.html
- (void)deform
{
Vertex2f vi; // Current input vertex
Vertex3f v1; // First stage of the deformation
Vertex3f *vo; // Pointer to the finished vertex
CGFloat R, r, beta;
for (ushort ii = 0; ii < numVertices_; ii++)
{
// Get the current input vertex.
vi = inputMesh_[ii];
// Radius of the circle circumscribed by vertex (vi.x, vi.y) around A on the x-y plane
R = sqrt(vi.x * vi.x + pow(vi.y - A, 2));
// Now get the radius of the cone cross section intersected by our vertex in 3D space.
r = R * sin(theta);
// Angle subtended by arc |ST| on the cone cross section.
beta = asin(vi.x/R)/sin(theta);
// *** MAGIC!!! ***
v1.x = r * sin(beta);
v1.y = R + A - r * (1 - cos(beta)) * sin(theta);
v1.z = r * (1 - cos(beta)) * cos(theta);
// Apply a basic rotation transform around the y axis to rotate the curled page.
// These two steps could be combined through simple substitution, but are left
// separate to keep the math simple for debugging and illustrative purposes.
vo = &outputMesh_[ii];
vo->x = (v1.x * cos(rho) - v1.z * sin(rho));
vo->y = v1.y;
vo->z = (v1.x * sin(rho) + v1.z * cos(rho));
}
}
que da un ejemplo de código para iPhone (arriba) pero no tengo ni idea de cómo iba a ir sobre la aplicación de esta en android. ¿Podría alguno de los dioses de Matemáticas por favor ayudarme sobre cómo implementar esto en Android Java?
¿Es posible uso de la API de dibujo nativas, tendría que usar OpenGL? ¿Podría mimik el comportamiento de alguna manera?
Cualquier ayuda sería apreciada. Gracias.
**************** EDITAR ***************************** *****************
he encontrado un ejemplo de mapa de bits de malla en las demostraciones de la API de Android: http://developer.android.com/resources/samples/ApiDemos/src/com/example/android/apis/graphics/BitmapMesh.html
Tal vez alguien me podría ayudar en una ecuación a veces simplemente la esquina superior derecha hacia adentro diagnostica en toda la página para crear un efecto similar que luego pueda aplicar sombras para obtener más profundidad?
que muy bien, sigue, creo que puedes hacer más bien – pengwang
¡Voy a comprometer una nueva versión pronto que actúa como un ListView y así podrás agregar cualquier tipo de vista en él! – Moss
Interesante pero aún necesita ser una vista independiente. – Hamid