2012-08-14 171 views
2

我想在我的視圖中檢測onTouchEvent函數中的觸摸邊緣,但getEdgeFlags()總是在我的Nexus S 4.1.1中返回0,任何人都可以幫助我?感謝提前。爲什麼getEdgeFlags()總是返回0

@Override 
public boolean onTouchEvent(MotionEvent event) { 
    int edgeFlags = event.getEdgeFlags(); 
    //edgeFlags alway 0! 
    switch (edgeFlags) { 
    case MotionEvent.EDGE_LEFT: 
     Log.i("tag", "EDGE_LEFT"); 
     break; 
    case MotionEvent.EDGE_RIGHT: 
     Log.i("tag", "EDGE_RIGHT"); 
     break; 
    case MotionEvent.EDGE_TOP: 
     Log.i("tag", "EDGE_TOP"); 
     break; 
    case MotionEvent.EDGE_BOTTOM: 
     Log.i("tag", "EDGE_BOTTOM"); 
     break; 
    default: 
     Log.i("tag", "" + edgeFlags); 
     break; 
    } 
return super.onTouchEvent(event); 
} 

回答

1

我解決了問題,添加四個按鈕觸發四個方向!

+0

請問您能詳細說明一下嗎?我不明白你的修復 – Entreco 2013-02-19 19:47:28

+0

@Entreco我添加了四個按鈕到我的視圖(在xml佈局文件中),然後setOnClickListener()在每個按鈕上控制四個方向,一個方向上的一個按鈕。 – c0ming 2013-02-20 08:45:19

相關問題