通常の Dialog を継承しているもの。
Activityにtheme (@android:style/Theme.Dialog など) を設定してDialog風にしているもの。
指定の方法がそれぞれ違う。
1. 通常の Dialog を継承しているもの。
- final AlertDialog dialog = alertinformation.create();
- dialog.setCanceledOnTouchOutside(true);
Dialog に対して、setCanceledOnTouchOutside を設定してやるといい。
2. Activityにtheme (@android:style/Theme.Dialog など) を設定してDialog風にしているもの。
- // ウィンドウ外を触った場合、閉じる
- @Override
- public boolean dispatchTouchEvent(MotionEvent ev) {
- Rect dialogBounds = new Rect();
- getWindow().getDecorView().getHitRect(dialogBounds);
- if (!dialogBounds.contains((int) ev.getX(), (int) ev.getY())) {
- this.finish();
- }
- return super.dispatchTouchEvent(ev);
- }
イベントで画面外をタッチしている場合に画面を終了する。
0 件のコメント:
コメントを投稿