簡體   English   中英

Android手勢從右到左

[英]Android gesture from right to left

我需要從右向左捕捉手勢動作,反之亦然(滑動),為什么它不起作用?

public boolean onTouchEvent(MotionEvent event)
    {

        float x = event.getX();
        float y = event.getY();
        int action = event.getAction();
        int edgeFlags = event.getEdgeFlags();


        switch (edgeFlags)

        {
            case MotionEvent.EDGE_LEFT:
            sex=3;   break;


            case MotionEvent.EDGE_RIGHT:
            sex=1;
                break;

            case MotionEvent.EDGE_TOP:
                break;

            case MotionEvent.EDGE_BOTTOM:
                break;

            default:

                break;
        }

return true;
}

它不適合我-> 如何在Android中檢測向左或向右滑動?

嘗試使用這種方法:

公共抽象類CustomGestureListener擴展了GestureDetector。SimpleOnGestureListener實現了Loggable {

private final View mView;

public CustomGestureListener(View view){
    mView = view;
}

@Override
public boolean onSingleTapConfirmed(MotionEvent e) {
    mView.onTouchEvent(e);
    return super.onSingleTapConfirmed(e);
}

@Override
public boolean onSingleTapUp(MotionEvent e) {
    onTouch();
    return false;
}

@Override
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) {
    if (e1.getX() < e2.getX()) {
        return onSwipeRight();
    }

    if (e1.getX() > e2.getX()) {
        return onSwipeLeft();
    }

    return onTouch();
}

public abstract boolean onSwipeRight();
public abstract boolean onSwipeLeft();
public abstract boolean onTouch();

}

檢查文章的完整源例子。

因為僅當用戶將拇指完全移開屏幕邊緣時才返回邊緣標志,因此很少。 您需要轉儲此方法。 而是捕捉他們放下手指的點,保存位置和時間。 當您獲得匹配事件時,請比較位置和時間,並確保這是一次水平移動,並在足夠短的時間內完成。 那將是一次輕掃。

暫無
暫無

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

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