簡體   English   中英

多點觸控[Android]

[英]Multi Touch [Android]

我的代碼經過嚴格簡化,如下所示:

    if(action == MotionEvent.ACTION_DOWN){
        x = me.getX();
        y = me.getY();
    }
    else if(action == MotionEvent.ACTION_UP){
        x = me.getX();
        y = me.getY();
    }
    else if(action == MotionEvent.ACTION_MOVE){
        x = me.getX();
        y = me.getY();
    }
    if(action == MotionEvent.ACTION_POINTER_2_DOWN){
        x2 = me.getX(1);
        y2 = me.getY(1);
    }
    if(action == MotionEvent.ACTION_POINTER_2_UP){
        x2 = me.getX(1);
        y2 = me.getY(1);
    }

我要添加

    if(action == MotionEvent.ACTION_POINTER_2_MOVE){
        x2 = me.getX(1);
        y2 = me.getY(1);
    }

但是當然

   MotionEvent.ACTION_POINTER_2_MOVE

不是真正的方法。 我知道必須有一種解決方法。 有什么建議么?

如果您不明白我的問題,那么我要問的是,移動指針時是否有運行多點觸摸的方法? BTW谷歌沒有幫助。

我還檢查了http://developer.android.com/reference/android/view/MotionEvent.html,但同樣沒有用

從文檔中:

未定義單個指針在運動事件中出現的順序。 因此,指針的指針索引可以從一個事件變為下一個事件,但是只要指針保持活動狀態,就可以保證指針的指針ID保持不變。 使用getPointerId(int)方法獲取指針的指針ID,以跨手勢中的所有后續運動事件對其進行跟蹤。 然后,對於連續的運動事件,使用findPointerIndex(int)方法獲取該運動事件中給定指針ID的指針索引。

您必須自己獲取並跟蹤指針ID,並確定移動了哪些指針。

http://developer.android.com/reference/android/view/MotionEvent.html

暫無
暫無

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

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