当您启动“愤怒的小鸟”并点击播放时,会显示一个水平滚动菜单,其中有一行图像,一旦点击,您就可以启动游戏而不是。我想知道如何使菜单与此类似,因为它横向(水平)滚动并显示可点击的图像?提前谢谢!
答案 0 :(得分:8)
我认为您可以使用HorizontalScrollView.完成此任务。您的HorizontalScrollView的子项将是LinearLayout,其方向为:horizontal。它将包含ImageViews或ImageButtons。为了实现“愤怒的小鸟”中的“快照”效果,您必须为滚动视图设置onTouchListener(),并在ACTION_UP部分内部检查hScrlView.getScrollX()以查看哪个图像你最接近,然后调用hScrlView.scrollTo(x,y)并使x参数成为你最接近的图像的布局x值。
编辑:我从未亲自使用过GalleryView,但基于this tutorial,您似乎可以通过这种方式使用它。它可以为你处理'snap to'机制,这样你就不必自己做触摸听众了。我不确定你是否可以在一个图库中设置图像之间的空间(愤怒的小鸟中的图片分散了很多),我知道你可以使用HorizontalScrollView和线性或相对布局。
答案 1 :(得分:1)
您可以使用Gallery执行此操作,并在适配器中将TouchListeners添加到每个项目的ImageViews中。这是最好的方法,因为当您滚动时,Gallery会支持每个图像居中。使用HorizontalScrollView,您只能使用fling滚动,菜单中的项目将不会集中。
答案 2 :(得分:0)
我自己一直无法找到如何做到这一点,但这篇文章是一个好的开始: