愤怒的小鸟喜欢滚动菜单

当您启动“愤怒的小鸟”并点击播放时,您将看到一个水平滚动菜单,其中有一行图像,一旦点击,您就可以开始游戏而不是。 我想知道如何制作一个类似的菜单,因为它横向(水平)滚动并显示可点击的图像? 提前致谢!

我认为你可以使用Horizo​​ntalScrollView完成这个任务。 Horizo​​ntalScrollView的子项将是LinearLayout,其方向为:horizo​​ntal。 它将包含ImageViews或ImageButtons。 为了实现“愤怒的小鸟”中的“捕捉”效果,您必须为滚动视图设置onTouchListener(),并在ACTION_UP部分内部检查hScrlView.getScrollX()以查看哪个图像你最接近,然后调用hScrlView.scrollTo(x,y)并使x参数成为你最接近的图像的布局x值。

编辑:我从未亲自使用过GalleryView,但基于本教程 ,您似乎可以通过这种方式使用它。 它可能会为你处理’snap to’机制,所以你不必自己做触摸听众。 我不确定你是否可以在一个画廊中设置图像之间的空间(愤怒的小鸟中的图片分散了很多),我知道你可以使用Horizo​​ntalScrollView和线性或相对布局。

您可以使用Gallery执行此操作,并在适配器中将TouchListeners添加到每个项目的ImageViews中。 这是最好的方法,因为当您滚动时,Gallery会支持每个图像居中。 使用Horizo​​ntalScrollView只能滚动滚动,菜单项目不会集中。

我自己一直无法find如何做到这一点,但这篇文章是一个好的开始:

如何在Android中创建水平ListView?