Уничтожьте DialogActivity, нажав на него - PullRequest
2 голосов
/ 14 ноября 2011

У меня есть активность в моем проекте, которая отображается как DialogActivity этой записью в манифесте:

<activity android:name=".ActivityDialog" android:theme="@android:style/Theme.Dialog">    </activity>

Деятельность не перекрывает весь экран, поэтому мой вопрос:

Можно ли уничтожить эту DialogActivity, нажав помимо нее? Так, как это возможно при обычном диалоге?

Спасибо!

Ответы [ 2 ]

1 голос
/ 14 ноября 2011

Theme.Dialog устанавливает некоторые отступы, чтобы он не перекрывал весь экран. если вы заинтересованы в уничтожении диалогового окна при щелчке в этой граничной области, установите сенсорный приемник для родительского макета, сравните X, y с соответствующим номером, чтобы убедиться, что это его требуемая область.

0 голосов
/ 20 сентября 2012

На будущее: У меня возник тот же вопрос, но ответ мне не помог.

Я заканчиваю, настраивая функцию onTouchEvent. Эта функция возникает также помимо диалогового окна.

@Override
public boolean onTouchEvent(MotionEvent event) {
    Log.d("onTouchEvent",event.getX() + " " + event.getY());
    // check if X and Y aren't in dialog area, then finish() or something
    return super.onTouchEvent(event);
}
...