2014-10-31 55 views
0

我的應用程序有dialog。我想當用戶clicks outsidedialog。我必須爲此做些什麼?如何在對話框外觸摸時捕捉事件

這是我的代碼,但它沒有運行。

@Override 
public boolean onTouchEvent(MotionEvent event) { 
    float x = event.getX(); 
    float y = event.getY();`enter code here` 
    int xmargin = (ViewUtils.getScreenWidth() - Constants.PRODUCT_DIALOG_WIDTH)/2; 
    int ymargin = (ViewUtils.getScreenHeight() - Constants.PRODUCT_DIALOG_HEIGHT)/2; 

    if (
      x < xmargin|| 
      x > ViewUtils.getScreenWidth() - xmargin || 
      y < ymargin|| 
      y > ViewUtils.getScreenHeight() - ymargin 
     ) { 
      finish(); 
      return true; 
    } 
    return super.onTouchEvent(event); 
} 

謝謝大家!

Window window = dialog.getWindow(); 
     window.setFlags(WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL, 
       WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL); 
     window.clearFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND); 

     dialog.show(); 

希望這有助於 -

回答

0

,當你觸摸一個對話外,您可以檢查此代碼,事件。

相關問題