You could put user a GestureOverlayView around the whole screen and only allow the first touch event to be processed by the lower views.
You must set up an onTouchListener on this transparent view, that does something like this:
gestureOverlayView.setOnTouchListener(new View.OnTouchListnener(){
@Override
public boolean onTouch(View v, MotionEvent e){
// True means the event is ignored by the overlayed views
return e.getPointerCount() > 1 ? true : false;
}
}