围绕圆圈旋转图像?

时间:2011-07-26 07:59:44

标签: android rotation image-rotation

请看一下这个应用程序快照:

enter image description here

这是银行申请。银行标识周围有6个按钮。您可以通过在其中一个中单击并按住来旋转图像,并沿任一方向(顺时针或逆时针)移动手指。因此,例如,我可以旋转它们以将Currency Convertor图像放在Login图像的位置。

在我的应用中,我也有6张图片,我想要旋转它们。我怎样才能做到这一点?

更新:BTW,这是一个iPhone应用程序,但我认为这不是iOS特定的问题。

2 个答案:

答案 0 :(得分:0)

就这样做

RotateAnimation rAnim = new RotateAnimation(0, 359, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f);
rAnim.setDuration(1000);
image.startAnimation(rAnim);

答案 1 :(得分:0)

假设您不需要更改"菜单中的项目" (启用/禁用/订单/可见性)你可能会"作弊"通过根据需要预先绘制项目的位图并旋转位图。 顶部和背景等图像可以通过"分层"完成。图像, 所以...

  1. 你有一张背景图片(可能是#34;斜面"表盘周围),你先画了..
  2. 然后旋转您的刻度盘图像,将您的菜单选项放在您想要的位置(透明的任何地方,您希望看到背景......)并将其绘制在背景上
  3. 然后你在指针上绘制指针图像(再次,透明,任何你想要看到的表盘和背景的透明)。

    • 最终结果(理论上)看起来非常像你的截图。
  4. 在Android上你可能会在屏幕外的位图上执行此操作,因此用户不会看到正在构建的图像,然后绘制整个完成的位图。在iOS上,屏幕外缓存主要是自动,所以你可能不需要担心它。

    ..如果你想改变物品的状态会变得更加棘手......我会#34;构建"表盘上的图像(作为分段图像)未旋转,然后旋转并绘制"内置"拨号。

    我个人会将表盘上的阴影显示为另一层(这将是步骤2.5),使用部分透明的位图调暗阴影区域。它将使旋转更有说服力,因为阴影将保持在正确的位置。