title: Why View dispatchKeyEvent method not called?
body: <p>My activity would show a ShowcaseView which add to decor view<code>((ViewGroup) activity.getWindow().getDecorView()).addView(mShowcaseView);
  </code>,and i wanna detect the key event to handle something,so i override the <code>dispatchKeyEvent()</code> to do what i desired. but it seem like <code>dispatchKeyEvent()</code> method never get called,whats worse, <code>PhoneWindow.DecorView#dispatchKeyEvent()</code> neither get called,i don't know why,please help me.</p>
  
  <p>Thanks.:)</p>
  
  <p>here is my <code>ShowcaseView</code> briefly source code.</p>
  
  <pre><code>public class ShowcaseView extends FrameLayout {
      public ShowcaseView(Context context) {
          super(context);
          init(context);
      }
  
      public ShowcaseView(Context context, AttributeSet attrs) {
         super(context, attrs);
         init(context);
      }
  
      public ShowcaseView(Context context, AttributeSet attrs, int defStyleAttr) {
         super(context, attrs, defStyleAttr);
         init(context);
      }
  
      private void init(Context context) {
          setWillNotDraw(false);
          setDescendantFocusability(FOCUS_AFTER_DESCENDANTS);
          setFocusable(true);
          setEnabled(true);
      }
  
  @Override
  public boolean dispatchKeyEvent(KeyEvent event) {
      Log.d("Showcase", "dispatchKeyEvent: called");
      super.dispatchKeyEvent(event);
      return executeKeyEvent(event);
  }
  
  private boolean executeKeyEvent(KeyEvent event) {
      if (event.getAction() == KeyEvent.ACTION_UP
              &amp;&amp; event.getKeyCode() == KeyEvent.KEYCODE_DPAD_CENTER) {
          hide();
      }
      return true;
  }
  }
  </code></pre>