簡體   English   中英

Android:在MultiTouch中未調用OnTouchListener.OnTouch

[英]Android: OnTouchListener.OnTouch not called in multiTouch

通過定義並在所有按鈕上附加我的OnTouchListener(和onTouch方法)版本,我在應用程序中實現了多點觸摸按鈕。 除了似乎屬於偵聽器標准行為的一件事以外,所有其他方法都可以正常工作。 我希望能夠解釋它而無需發布代碼,因為它很長。

如果單擊並按住一個按鈕,則會按預期方式調用onTouch方法,並且應用程序會看到該按鈕被單擊。 如果我單擊並按住第二個按鈕,則會按預期方式調用onTouch方法(與第一個按鈕相關),並且應用程序會看到按鈕被單擊。

如果僅釋放第二個按鈕,則如果我的手指完全不動,則不會調用onTouch事件,並且第二個按鈕也不會被邏輯釋放。 僅當我至少移動一個像素的第一根手指時才調用onTouch方法,並且僅在此刻釋放第二個按鈕。

我知道很難將手指完全放在同一位置超過一毫秒:-),但有時會發生..我不得不花一些時間來了解這種行為的原因,但我沒有找不到解決方案,您是否有解決此問題的建議? 非常感謝你。

在您的onTouch內嘗試

PointF curr = new PointF(event.getX(), event.getY());
switch (event.getAction()) {
    case MotionEvent.ACTION_UP:
        float xDiff = Math.abs(curr.x-start.x);
        float yDiff = Math.abs(curr.y-start.y);
        if (xDiff < 5f && yDiff < 5f) {
        //insert here your code when button is click
        }
     break;

這對我幫助避免不正確的推送。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM