如何在Android上实现旋转控件?

4
有没有关于如何创建旋转控件的想法?类似于这样的东西:http://www.raywenderlich.com/9864/how-to-create-a-rotating-wheel-control-with-uikit 我发现了两篇博客文章,它们与我需要的相似,但是还不太一样:http://mindtherobot.com/blog/534/android-ui-making-an-analog-rotary-knob/http://mobile.tutsplus.com/tutorials/android/android-sdk-creating-a-rotating-dialer/。第一个不会在旋转时真正动画化,而第二个虽然有动画效果,但使用了一张大位图并对其进行旋转。因为我正在寻找的控件实际上应该是几个按钮的容器(每个按钮都需要对单击做出反应),所以我不能真正使用一张大位图。
3个回答

3

在 API 10 及以下版本中,动画以一种非常奇怪的方式工作,如果您旋转/移动/缩放视图,则其真实位置/旋转/大小并不真正更改。 如果您不介意,可以简单地使用旋转动画,类似于此:https://dev59.com/7G855IYBdhLWcg3waDeR#4846255


我还需要它在用户通过触摸旋转时也跟着旋转。我想我可以将动画连接到手势监听器上(如果有人认为这不可能,请告诉我)。你有什么想法如何将单个控件定位在一个圆形路径上吗? - ebernie
这是需要自定义布局的内容。可以尝试扩展RelativeLayout或FrameLayout,并决定放置和测量每个视图的位置。 - android developer
在安卓中进行动画有时真的会让你想哭。我尝试了三种不同的方法来制作旋转轮,现在我得出结论:旋转可以简单地完成,但是带有按钮的旋转需要通过捕获触摸位置并将该触摸区域与按钮图像所在的位置匹配来处理。 - Warpzit
如果你使用Android 3或4的动画,那么你会更容易地处理它。否则,我建议你查看第三方OpenGL库(例如libgdx或andengine)。 - android developer

0

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接