본문 바로가기

개발/Android 개발 주저리

[Android] Activity를 dialog띄웠을때 영역외 터치시 닫히는거 막기

액티비티를 다이얼로그로 띄우면 기본적으로 다일러로그 영역외(뒷배경)을 터치하면 다이얼로그가 닫힌다

이를 막기 위해서는 아래와 같은 오버라이드해서 터치발생시 return 을 주면된다


@Override

 public boolean dispatchTouchEvent(MotionEvent ev) {

  // TODO Auto-generated method stub

  Rect dialogBounds = new Rect();

  getWindow().getDecorView().getHitRect(dialogBounds);

  if (!dialogBounds.contains((int) ev.getX(), (int) ev.getY())) {

  // 영역외 터치시 닫히지 않도록

  return false;

  

  }

  return super.dispatchTouchEvent(ev);

 }