2

我有兴趣在我的 Android 应用程序中实现基于轮形设备(或饼图形或圆形)的用户界面导航控制机制。

我希望在任何时候都只看到一半的轮子。也就是说,只有滚轮的上半部分应该是可见的,因为下半部分应该在屏幕边框的下方。然后,用户可以转动“半轮”来显示被屏幕边框隐藏的选项。可见的上半部分应该像饼图一样分为三个部分,因此用户可以按下其中任何一个来调用某些操作。下面的图片应该解释(它是一个有七个(AG)选项的例子)。

http://imgur.com/lNu1F

旋转本身应该不难,但我很难理解如何定位轮子,使其一半在实际屏幕之外。我认为加载整个轮子(但隐藏其中的一半)是最好的,因为那是我拥有的图形,并且当用户滑动以显示其他选项时,它还可以实现流畅的动画。我怎样才能让Android以这种方式显示轮子?

还。任何关于如何实现“沿车轮形状滑动”的评论将不胜感激。

谢谢你。

4

1 回答 1

1

所以对于轮子 - 你很难知道如何定位轮子,因为你正在使用 XML 来对齐你的对象并且想要使用像“对齐对象中心到底部”这样不存在的东西。这是一种可能会正常工作的方法:掩盖车轮视图。

是否可以在android中屏蔽视图?

至于滑动轮子,我会注册轮子以获取触摸事件,并仅使用移动事件的水平组件来应用轮子的旋转。这种设置在使用旋钮的音频软件中很常见。

但是,如果您想让它以更真实的方式粘在用户的手指上,您需要执行以下操作:

  1. 当用户第一次触摸滚轮时,计算从滚轮中心到手指的角度。

  2. 每次手指移动时,检查滚轮中心到手指的角度 - 并旋转滚轮角度与上次触摸事件相比的变化量。

得到两点之间角度的公式是这样的:

Float angleInRadians = Math.atan2(point1.y-point2.y, point1.x-point2.x);
于 2012-10-02T16:51:19.490 回答