2012-08-14 164 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

相关问题