views:

1212

answers:

2

Hi... Two questions:

  1. Is there a simple way to do the Curl page flipping animation? A Curl animation is animation of pages flipping, including the page above rolling and the shadows over the lower page.
  2. What is the recommended way to do a "gallery" that displays two pages at a time (just like a book)? Is it:
    1. Letting the adapter display a linear layout of two images at a time? (it won't let me show a page flipping over the other like a book)
    2. Using two pages, placing somehow one near the other, and then when it's time to animate -move the next two pages over? What is the better way that would enable displaying the left page flipping over the right page?

Thanks

Meymann

+1  A: 

I haven't worked on the android before, but it seems to me the best way to do a page flipping type of display would be to draw it in three layers. The first being the first page's text, the second being the "page" underneath, and the third being the next page. If you draw them from back to front, the only thing the user will see will be the text on the first page.

Now, Once you have that, you'll want to do some sort of curling/flipping animation based on whatever controls you are using. Simply choose whatever method works best for you for doing that animation, but while you are doing that, have the part of the page that isn't there anymore alpha'd out. This will allow you to see the text of the page underneath (Okay, I lied. You'll need a background behind that text too).

The problem at this point is you're still drawing the text twice over the same space, so you'll want to blend the first page's text with the animation under it. In this way, the text that is over the 0 alpha sections will be invisible. It won't bend with the animation, so that may still be an issue, but depending on the speed of the flip that might be fine still. When the animation is done, simply set the first page = the second, the animation reset to plain white, and the second page = the new second page.

The shadow effect can be done simply by partially alphaing out some black behind the page turn animation. Draw over second page (as the animation layer already is doing) and voila!

I believe your two page question could use a very similar method. Good luck

Lunin
Thanks but I guess there are a few things that you might have not understood about Android and the problem: A. The CURL means rolling of a page. Shifting pages one on top of another requires 2 pages in Android and one simple animation. The CURL involves a mathematical model with twisting, 3D and shading.B. In Android, you should interpolate the animations, each in a different path and acceleration, in a way that the shadow and the pages are synchronised. This is almost impossible. Even if you succeed, the performance would be awkward.Thanks M.
Meymann
Meymann: I think you just contradicted your question and called the task of doing a page curl impossible. Lunin is right, though, the best way to accomplish a page curl is to do a strictly 2D animation (which can be done fairly easily on most Android device processors) on a canvas control. This can be animated using a timer. It could be done with OpenGL, sure, but nearly half of Android devices are running either without hardware acceleration or on sub-par GPUs. 3D is a poor choice of implementation. A simply 2D version (with some gradient drop shadows, of course) would fit the bill.
mattbasta
Again: "Curl" is the act of flipping pages. Flipping with an effect of shadowing, and having the tip of the page rolled (with transparency, shadowing ***AND 3D***) over the lower page. CURL in iPhone OS is a fruit of a month of research and mathematical models. With Android, you can shift one page over another. Shading means another perfectly synchronized layer (another problem), and there is no way of 3D rolling a view with just 2D graphics.
Meymann
A: 

Hey Guys,

I also want to do page turn effect in my application. I have seen page curl in iphone. Its just simply a one line code for it.

Please tell what animation code is available in android? Please reply ASAP.

Thanks.

arsalan
No CURL is available in Android... this is why I ask this question...
Meymann
Hi Meymann, have you find any way to do page turn effect? If please brief with some code.Thanks
arsalan