为什么我的getEdgeFlags()无法检测到边缘触摸?这与it技术有关。我扩展了DrawerLayout,然后进行了如下操作:
@Override
public boolean onInterceptTouchEvent(MotionEvent ev)
{
int edgeFlags = ev.getEdgeFlags();
Log.d(TAG,String.valueOf(edgeFlags));
if ((MotionEvent.EDGE_LEFT&edgeFlags)!=0 || (MotionEvent.EDGE_RIGHT&edgeFlags)!=0)
Log.d(TAG,"BEZEL intercept.");
else
Log.d(TAG,"Regular intercept.");
return super.onInterceptTouchEvent(ev);
}
我从未获得任何边缘检测,edgeFlags
总是0。
在G2上测试了4.4.2,S3上测试了4.3.1并在模拟的S4上测试了4.2.2。我知道只有ACTION_DOWN
触碰才能进行边缘检测,但我从未检测到过。尽管如此,抽屉布局显然仍能够检测到它,因为通过边缘划动可以很好地打开抽屉。使用子类化ViewPager
也会得到同样(缺乏)的结果。重写 onTouchEvent()
方法也没有帮助。
我做错了什么?