解决方案 »

  1.   

    贴代码 看看
    谁知道你的ontouch让谁抢占了 补贴代码咋告诉你
      

  2.   

    补充一下:重写onTouchEvent我大概是这样写的:public class MyActivity extends Activity { @Override
      protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);    getWindow().setFlags(WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL, WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL);    getWindow().setFlags(WindowManager.LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH, WindowManager.LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH);    setContentView(R.layout.my_dialog_view);
      }  @Override
      public boolean onTouchEvent(MotionEvent event) {
        if (MotionEvent.ACTION_OUTSIDE == event.getAction()) {
          finish();
          return true;
        }    return super.onTouchEvent(event);
      }
    }
      

  3.   

    代码里onTouch没有处理其他东西,这个onTouch也是我刚加的,没有其他东西
      

  4.   

    如果不是直接设置WindowManager 的width和height的话。
    可以在activity的ontouch中,根据点击的坐标,判断是不是在跟的View范围内判断。