2011-03-26 103 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