Please take a look at this app snapshot:
This is a bank application. i
Assuming you don't need to change the items in the "menu" (enable/disable/order/visibility) you can probably "cheat" by having a bitmap with the items pre-drawn as required and rotating the bitmap. The image over the top and background etc can be done by "layering" the images, so..
you then draw your pointer image over the dial (again, transparent anywhere you want the dial and background to be seen).
on Android you would probably do this on an off-screen bitmap so the user doesn't see the image being built, then draw the entire finished bitmap. On iOS, offscreen buffering is mostly automatic, so you probably don't need to worry about it.
..it gets trickier if you want to change the state of the items.. I would "build" the dial with images of the items (as segment images) unrotated, then rotate and draw the "built" dial.
I would personally show the shadows on the dial as another layer (it would be step 2.5) using a partially transparent bitmap dimming the shadowed areas. It would make the rotation more convincing as the shadows would stay in the correct places..
Just do this
RotateAnimation rAnim = new RotateAnimation(0, 359, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f);
rAnim.setDuration(1000);
image.startAnimation(rAnim);