2014-09-20 17 views
-1

我有一個關於如何去做這個邏輯問題。3個動作1個按鈕 - OnClick Ontouch OnLongClick

我需要1個按鈕才能完成3件事。

  1. 在點擊--play音樂文件一旦
  2. 如果舉行(即時猜測OnTouch)音樂將發揮和循環,但停在鬆開拇指。
  3. OnLongClick - 進入用戶輸入的新視圖。

我已經能夠實現1和3

我的問題是,如果我使用onTouchListner它最終將火OnLongClick事件,我認爲它會嘗試當我鬆開運行onClick事件觸摸。

螞蟻的想法會改變

+2

你如何區分與longClick舉行? – 2014-09-20 11:13:42

+0

這正是我的delema – 2014-09-21 08:41:59

+0

我正在考慮這個解決方案。 onDown會一次播放聲音,onRelease(onUp)不會有任何動作,然後設置一個定時器,這樣如果onDown事件持續了500ms,那麼它會設置播放聲音重複(循環)併發出停止聲音onrelease。 – 2014-09-21 09:15:41

回答

0

onTouch爲您提供運動事件。因此,你可以做很多奇特的事情,因爲它可以幫助你區分移動狀態。僅舉幾

ACTION_UP
ACTION_DOWN
ACTION_MOVE

這些都是我們平時實現讓慾望的結果,例如在屏幕上拖動視圖的共同行動。

另一方面,除了哪個用戶交互的視圖,onClick並沒有給你太多。 onClick是一個完整的事件,包括聚焦,按下和釋放。

有關如何在Android的訪問here

+0

謝謝..我需要能夠做一個onLongClick和一個保持直接點擊。我認爲你所說的是編寫代碼,這樣當Action_down代碼它將播放聲音循環。 Action_up代碼會停止聲音。問題是我還需要點擊一下,這樣就不需要按鈕。在onlongclick事件發生之前還有多久。 – 2014-09-21 08:34:38

0

所以,你需要什麼去上班這一情況用,是「MyGestureListener」處理單和多點觸摸事件的更多信息。 你仍然可以使用你已經實現的Onclick和OnLongClick,而不是「OnTouch」我很確定你打算使用「onDown」/「ON_DOWN」。

以下是你可以使用的方法列表:https://developer.android.com/samples/BasicGestureDetect/src/com.example.android.basicgesturedetect/GestureListener.html

希望它幫助。

+0

我已經關注了你的鏈接,我仍然在腦中思考它,謝謝你。 – 2014-09-21 08:35:29

+0

如果您需要更詳細的幫助,請告訴我。 – Vlad 2014-09-21 08:45:54

+0

我正在考慮這個解決方案。 – 2014-09-21 09:09:50

0

您更好地利用選項1正常,則代替ontouch使用onLongClick和菜單編寫代碼出現與選項2和3

乾杯! :)

+0

我在想,我可以使用onClick來發射一次聲音。然後使用onLongClick來循環聲音,並使用某種標誌來確定是否需要更改視圖。我在這裏看到的唯一問題是,我需要連續播放聲音直到按鈕被釋放(我想我會使用onTouch動作)。我的問題是將3個動作分開 – 2014-09-21 08:39:36

+0

您試試我說過的話它可能工作。 – 2014-09-22 05:53:51

+0

不幸的是,這不會工作,因爲我需要一個聲音的實例播放。如果我使用longclick,這對選項2不會有好處 – 2014-09-22 10:31:19

相關問題