Android Custom wheel或老虎机实现

时间:2013-11-07 11:12:51

标签: android android-layout android-listview

我需要像图片中那样实现类似控制的轮子(老虎机)。

enter image description here

但是每个项目的边缘(项目之间的位置)需要平滑,以使它看起来像地球一样的地球。这是从iPhone库获得的iPhone应用程序的屏幕截图。我想在android中使用它。我检查了kankan轮(Android轮),但它不能满足我的需求。然而,我需要循环行为。我也检查了以下链接。

http://developer.sonymobile.com/2010/06/23/android-tutorial-making-your-own-3d-list-part-3/

我使用了画布和矩阵,其中一些值用于翻译后翻译等级的方法。但我不知道它是如何工作的,它对特定的偏斜值有什么影响等等。 当我与UI设计师讨论时,他们告诉我要实现这个屏幕设计使用“倾斜”或“透视”属性。但我不知道如何在android中对图像进行倾斜或应用透视。我尝试在自定义列表视图的drawChild()方法中应用一些值来进行倾斜(使用此链接http://developer.sonymobile.com/2010/06/23/android-tutorial-making-your-own-3d-list-part-3/的列表视图实现)。但这种观点变得无形。

我不能使用矩阵的比例行为,因为它会在每个子视图之间插入间隙。

我需要知道如何实现以下行为。需求是

  1. 用户尝试滚动后会检查阈值并仅在阈值高于配置的阈值时滚动。

  2. 项目滚动循环,从某种意义上说,在最后一个轮子后显示第一个项目,依此类推。如果只有一个项目,则轮子应填充单个项目。

  3. 滚动视图后,所有触摸都会被禁用,直到滚轮结束。

  4. 滚轮应滚动特定的时间(从后端计算礼物,并确定哪个项目应位于视图的中心。

  5. 当我们使用setSlected()或setSelection()方法设置要选择的项目时,如kankan wheel demo(Android方向盘),方向盘应逐渐减速到指定位置,而不是immediatley将方向盘停在那个位置。

4 个答案:

答案 0 :(得分:1)

有关视角,请查看http://developer.android.com/reference/android/graphics/Camera.html

您可以设置相机的位置,然后获取矩阵,并使用它来绘制图像。它将为您设置歪斜和缩放。

答案 1 :(得分:1)

我不知道你有多接近实现你的目标,但你可能想跳过使用android类并使用像cocos 3d for android这样的3d引擎。导入模型并使其在正确的位置可以点击,所有这些东西都会被抽象出来,所以你不要花时间搞乱其他事情。

答案 2 :(得分:1)

enter image description here

试试这个,保留6个视图5,如图像所示,一个保留。 当视图1超出范围时,保留视图进入下一个图像&视图1成为保留视图,类似地,您应该多次渲染循环。

The width grows while it moves from bottom to center and shrinks when it rolls towards top

答案 3 :(得分:0)

你看到了这个吗?您可以调整它,但它至少是https://code.google.com/p/android-wheel/

的起点

更新: 该项目已移至github