围绕圆圈旋转图像?
Posted
技术标签:
【中文标题】围绕圆圈旋转图像?【英文标题】:Rotate Images Around a Circle? 【发布时间】:2011-10-13 05:00:16 【问题描述】:请查看此应用快照:
这是一个银行应用程序。银行标志周围有 6 个按钮。您可以通过单击并按住其中一个图像来旋转图像,然后在任一方向(顺时针或逆时针)移动手指。因此,例如,我可以旋转它们以将Currency Convertor
图像放在Login
图像的位置。
在我的应用中,我也有 6 张图片,我想旋转它们。我该怎么做?
更新:顺便说一句,这是一个 iPhone 应用,但我认为这不是 ios 特有的问题。
【问题讨论】:
【参考方案1】:假设您不需要更改“菜单”中的项目(启用/禁用/订单/可见性),您可以通过根据需要预先绘制项目的位图并旋转位图来“作弊”。 顶部和背景等的图像可以通过“分层”图像来完成, 所以..
-
您有一个您首先绘制的背景图像(可能是表盘周围的“斜角”)..
然后,您可以旋转表盘图像,将菜单选项放置在您想要的位置(在您希望看到背景的任何地方都是透明的......)并将其绘制在背景上
然后您将指针图像绘制在表盘上(同样,在您希望看到表盘和背景的任何地方都是透明的)。
最终结果(理论上)与您的屏幕截图非常相似。在 android 上,您可能会在屏幕外位图上执行此操作,这样用户就不会看到正在构建的图像,然后绘制整个完成的位图。在 iOS 上,屏幕外缓冲大部分是自动的,因此您可能无需担心。
..如果你想改变物品的状态,它会变得更棘手..我会用未旋转的物品图像(作为片段图像)“构建”表盘,然后旋转并绘制“构建”表盘。
我会亲自将表盘上的阴影显示为另一层(这将是步骤 2.5),使用部分透明的位图使阴影区域变暗。这将使旋转更有说服力,因为阴影会留在正确的位置..
【讨论】:
【参考方案2】:就这样做
RotateAnimation rAnim = new RotateAnimation(0, 359, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f);
rAnim.setDuration(1000);
image.startAnimation(rAnim);
【讨论】:
以上是关于围绕圆圈旋转图像?的主要内容,如果未能解决你的问题,请参考以下文章