【问题标题】:Rotate Images Around a Circle?围绕圆圈旋转图像?
【发布时间】:2011-10-13 05:00:16
【问题描述】:

请查看此应用快照:

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

在我的应用中,我也有 6 张图片,我想旋转它们。我该怎么做?

更新:顺便说一句,这是一个 iPhone 应用,但我认为这不是 iOS 特有的问题。

【问题讨论】:

    标签: android rotation image-rotation


    【解决方案1】:

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

    1. 您有一个您首先绘制的背景图像(可能是表盘周围的“斜角”)..
    2. 然后,您可以旋转表盘图像,将菜单选项放置在您想要的位置(在您希望看到背景的任何地方都是透明的......)并将其绘制在背景上
    3. 然后您将指针图像绘制在表盘上(同样,在您希望看到表盘和背景的任何地方都是透明的)。

      • 最终结果(理论上)与您的屏幕截图非常相似。

    在 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);
      

      【讨论】:

        猜你喜欢
        • 2019-04-25
        • 2020-10-02
        • 2018-07-01
        • 1970-01-01
        • 2021-07-30
        • 1970-01-01
        • 2016-12-25
        • 2019-03-03
        相关资源
        最近更新 更多