Earlier this weekend I was thinking about how the next generation of devices is pushing the user interface/interaction boundaries. Devices such as the HTC Touch and the iPhone introduce interfaces that incorporate more human gestures combined with a slick graphics. This made me wonder how hard it would be to create a control that could be used to smoothly transition between screens. What I came up with is a simple control that allows the developer to gradually transition between different layouts, as shown in the following image:
Working with this control is relatively straight forward as you can simply define current, next and previous graphical layouts (for example you might have 3 panels each with a different layout on). Then using simple actions such as GoNext and GoPrevious the control co-ordinates a smooth transition by scrolling the current layout off the screen while the next layout comes onto the screen. There are a couple of configurable options that let you control the speed of the transition and whether the screens scroll from the left/right or top/bottom.
If anyone is interested the rough source, with a sample form, is available in the attachment to this post.