Habe ich gesehen, dass mehrere Beiträge auf, wie schließen Sie einen dialog, indem Sie auf der Außenseite. Aber ist es ein Weg, um die gleiche Funktionalität zu erhalten, indem Sie den in das Dialogfeld Fenster?
Gibt es Listener für den Dialog, der würde erkennen, Tippen Sie auf das Dialog-Fenster?
Überschreiben
- Dialog.onTouchEvent(...)
fängt jeder Tippen, irgendwo auf den Bildschirm. Um das Dialogfeld zu schließen durch Antippen überall:Diesem snippet hebt die Notwendigkeit zu nennen,
dialogObject.setCanceledOnTouchOutside(true);
.Vermutlich Sie wollen erkennen, ein touch-event überall innerhalb der Grenzen eines dialogs. Wenn Sie ein benutzerdefiniertes Dialogfeld (z.B. durch die Zusammenstellung von
View
s in ein layoutView
einer Art, und dann die Einstellung der ElternView
als dialog Hauptinhalt anzeigen mit.setContentView()
), dann könnten Sie vielleicht auch einfach eineonTouch
Zuhörer, dass Inhalte, die ElternView
. Darüber hinaus können Sie greifen halten Sie von Ansichten, die mitmDialog.findViewById()
, also wenn zum Beispiel einAlertDialog
, vielleicht könnte man irgendwie bestimmen, welche Ressourcen-ID zu verwenden, um zu greifen, halten Sie Ihre Haupt-layoutView
.Wenn Sie ein Layout in dem Dialogfeld, könnten Sie bekommen einen Verweis, der als Ansicht und setzen Sie einen onClickListener auf, dass. Also vorausgesetzt, Ihr dialog verfügt über ein eigenes layout und anzeigen, die für das gesamte Dialogfeld, erhalten Sie einen Verweis auf die.
Zum Beispiel, vorausgesetzt, einen dialog, einen LinearLayout namens mainll, enthält Ihre benutzerdefinierten Ansichten, die Sie wäre:
Sie immer dann, wenn etwas geklickt wird innerhalb des LinearLayout, wird es registriert ein click-Ereignis.
Können Sie immer erstellen Sie Ihre eigenen Dialog-Aktivitäten und Anruf beenden() klickt der Benutzer den Bereich, den Sie möchten, um zu schließen das Dialogfeld.
Hier ist ein Beispiel, das erklärt, wie Sie zu behandeln onTouch-events in der dialog. Der trick ist, bei der Erstellung einer benutzerdefinierten listener.
http://about-android.blogspot.co.uk/2010/02/create-custom-dialog.html