Background
I have some high quality images which I wish to show with some transition between them, like in a presentation.
The problem
Since Android has many screen types, for each "frame" of the "presentation", I wish to have the image to be zoomed in to a specific area/corner (if needed) and slowly auto-scroll in some direction (depending on where I've zoomed in).
Such a thing occurs on some websites and on screen savers which show your gallery of images.
This means that in some screens, only a part of the image would be shown, yet other parts would be revealed while scrolling .
After each slow-scrolling, I switch to the next image and do the same process.
What I've tried
I couldn't find out the name of this feature and therefore I couldn't know where to look for it.
Example
Image is zoomed to the top-left corner, and is slowly being scrolled to the bottom-right corner.
The question
Is there a way to achieve it using the API ? Maybe there is a library for this job?
Of course, the solution must not use too much memory no matter what is the quality of the images.
OK, I've found a nice project called NotBoringActionBar , which has the same effect of swapping between images in the same manner i've asked for.
The class that is responsible for this is called "KenBurnsView.java" .
The original library is KenBurnsView .
EDIT: do note that this doesn't work well with dynamically created bitmaps, and I've posted about it here.
I haven't tried this but here is an idea - You can programmatically zoom in on a particular part of the ImageView and periodically zoom in on other parts that can be cued by a thread.
See this answer for zoom implementation details
Example:
Begin by zooming in on the top left corner.
A thread will run and notify you every 200 ms or so.
On being notified, you call the zoom function again but slightly lower this time so that it appears to scroll down while being animated.
Continue till bottom right end is reached.
Hope this helps.