2011-03-26 57 views
10

试图这个“手势”功能添加到我的第一个程序,而且几乎每一个搜索我没有来到这个线程:Android - 滑动左侧|右侧。手势检测

Fling gesture detection on grid layout

我能得到它的工作..但在我我不确定它是否100%正确。

在我的布局,我有3个水平linearLayouts,每一个有5个按钮..所以它的5个按钮3列..根据线索,我不得不:

“附上您的手势监听到所有的您添加到主布局的视图;“

,这意味着对所有的15个按钮:

“button.setOnTouchListener(gestureListener);”

难道我不能说带按钮的LinearLayouts是寻找滑动手势的那些吗?或者因为它们“隐藏”在按钮后面,这不能完成?

因为我还有一个布局我想这个来实现,它有更按钮..

所以..只是在寻找我的屏幕上检测向右滑动可切换一个简单的方法|离开..如果不存在的话..

预先感谢您

回答

15

不能我只想说, LinearLayouts与按钮是 那些寻找出轻扫手势 ?或者因为它们在按钮背面“隐藏” ,这不能被 完成吗?

我认为这正是你要面对的问题,除非你检测到所有视觉对象上的滑动。

屏幕上的按钮(或其他小部件)越多,用户在开始/结束轻扫手势时所需的精度就越高 - 换句话说,他们需要在您的间隙纽扣。

要检测滑动,需要开始和结束位置 - 如果用户在按钮上开始和结束(不在监听滑动),则不会检测到滑动。同样,从一个按钮开始到“间隙”(反之亦然)结束时,不会检测到有效的刷卡,因为只有一个开始/结束点对“刷卡检测”有效。

我能想到的最佳方法(虽然我从来没有尝试过自己)是使用GestureOverlayView。这可以让你在背景视图之上有一个透明的覆盖图,并且可以用来检测诸如“滑动”之类的事情,而无需你的底层视图需要了解手势。

看到这个开发资源Gestures

+0

你好..大..答案完全清楚我!将不得不寻找GEstureOverlayView很快..谢谢。 – cornelyus 2011-03-30 09:45:55