title: Custom ViewGroup.dispatchTouchEvent() doesn't work correctly
body: <p>I'm developing custom ViewGroup. It is some kind of radial menu (similar to options menu in android camera app).</p>
  
  <p>I managed to lay out and draw children properly. Another thing I had to do is to override touch events dispatching:</p>
  
  <pre><code>@Override
  public boolean dispatchTouchEvent(MotionEvent ev) {
      for (int i=0; i&lt;getChildCount(); i++) {
          CircularView child=(CircularView) getChildAt(i);
          if (child.viewMetrics.containsPoint(ev.getX(), ev.getY())) {
              child.dispatchTouchEvent(ev);
              return true;
          }
      }
      return false;
  }
  </code></pre>
  
  <p>I iterate through children and dispatch event if event coordinates belong to any of them (<code>child.viewMetrics.containsPoint()</code> method call, double checked, works correctly). </p>
  
  <p>Seems to work, but it's not perfect. I noticed <strong>the problem</strong>: when I tap, hold my finger and move it even slightly, the click is interrupted. <a href="http://www.youtube.com/watch?v=iCKDtMEus-g" rel="nofollow">Here's the demo</a>.</p>
  
  <p>I looked at <a href="http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android/4.2.2_r1/android/view/ViewGroup.java#ViewGroup.dispatchTouchEvent%28android.view.MotionEvent%29" rel="nofollow">superclass implementation</a>, and there's a lot of code. My first thought was to copy it, but it depends on many private classes.</p>
  
  <p><strong>How do I make sure touch events dispatching works correctly?</strong> (not only clicks, but all other gestures as well?)
  If there's no easy way to do it, I would appreciate any comments or advice on porting the default implementation or any links to useful information on the topic.</p>