旋转一圈的图片?

问题描述 投票:8回答:2

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

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

在我的应用程序,我有6张图片也一样,我想将其旋转。我怎样才能做到这一点?

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

android rotation image-rotation
2个回答
0
投票

假设您不需要更改“菜单”中的项目(启用/禁用/顺序/可见性),您可以通过根据需要预先绘制项目的位图并旋转位图来“欺骗”。在顶部和背景等的图像可以通过“分层”的图像来完成,所以..

  1. 你有你先画一个背景图像(可能是“伞”,围绕转盘)..
  2. 然后旋转你的刻度盘图像,将菜单选项放在你想要的位置(透明的任何地方,你想要看到背景......)并在背景上绘制它
  3. 然后在指针上绘制指针图像(再次,透明,任何你想要看到的表盘和背景)。 最终结果(理论上)看起来非常像你的截图。

在Android上,你可能会做这上离屏位图,因此用户不会看到图像正在兴建,然后绘制整个成品位图。在iOS上,屏幕外缓冲大多是自动的,所以你可能并不需要担心。

如果你想改变物品的状态,我会变得更加棘手。我将“构建”表盘上的物品图像(作为段图像)未旋转,然后旋转并绘制“内置”表盘。

我个人显示在表盘作为另一个层中的阴影(这将是步骤2.5),使用部分透明的位图的调光阴影区域。这将使旋转更有说服力的阴影会留在正确的地方..


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);
© www.soinside.com 2019 - 2024. All rights reserved.