2016-07-27 23 views
0

Ich habe eine kleine App, die eine Navigationsleiste als Menü verwendet. Das sieht aus. Mein Problem ist, dass die Schublade auch verfügbar sein sollte, wenn einige modale Dialogfragmente geöffnet sind.Gibt es eine Möglichkeit, eine Navigationsleiste vor einem Dialogfragment zu öffnen

Ich erkannte die Gesten Gesten korrekt mit dem GestureDetector und leiten das Ergebnis an die Hauptaktivität weiter. Das ruft die Methode auf. Das ruft die Methode auf. Funktioniert gut, aber die Schublade erscheint im Hintergrund des Dialogs.

Gibt es eine einfache Möglichkeit, die Schublade nach vorne zu bringen?

  • Muss ich ein eigenes Fragment für die Navigationsleiste erstellen und es selbst verwalten?
  • Wenn ja, kennen Sie irgendwelche Codebeispiele, wie dies leicht archiviert werden kann
  • Muss ich irgendwie Schublade für das Dialogfeld Fragment (wie) angeben?

Alle Anregungen/Hinweise sind willkommen. Vielen Dank im Voraus

+0

Im Allgemeinen werden Dialoge verwendet, um Benutzeraktionen/Eingaben zu erfordern, bevor Sie fortfahren. Warum also sollten Sie dieses normale Verhalten umgehen? – Luksprog

+0

Es ist nicht meine Entscheidung. Die App wurde von einem WinME-Gerät portiert. Voraussetzung war, dass sie ähnlich aussieht. Dialoge werden für die Flusssteuerung verwendet, aber es gibt Menüpunkte, die immer ausgewählt werden können, um zusätzliche Aktionen auszuführen, die unabhängig vom aktuellen Status der Hauptansicht sind. Ich mache das nicht, weil ich es so machen will, weil ich es so machen muss. – BChrom

Antwort

0

Was ich mit endete bin folgt:

  • ich eine eigene Dialog-Schnittstelle verwenden, grundsätzlich die Standardmethoden des Dialogs Bereitstellung (Show/abweisen/...).
  • Es wird eine Implementierung einen echten Dialog erstreckt (in Fällen eingesetzt werden, wo kein Menü notwendig)
  • Ein anderes ein Fragment erweitert (NO DialogFragment)
  • Mein eigenes Dialog Stil Fragment erzeugt eine halbtransparente Layout den gesamten Bildschirm abdecken und die Berührungsereignisse verbrauchen. Innerhalb davon gibt es ein relatives Layout, das die Ansicht/den Inhalt des Dialogs enthält (was durch setContentView festgelegt wird). Dieses Layout verwendet einen Hintergrund, der das Erscheinungsbild eines Dialogfelds definiert.
  • Mit den show/disney-Methoden wird der Fragmentmanager hinzugefügt/entfernt.

So ist es ein normales Fragment, das eine Ansicht enthält, die einen Dialog darstellt. Ich überprüfe auch mehrere Attribute (Ort, Flaggen, die auf einen Dialog eingestellt werden können) und versuche, sie auf die angezeigte Ansicht anzuwenden.

Ich bin nicht ganz glücklich mit diesem Ansatz und es hat definitiv einige Nachteile, aber jetzt erfüllt es meine Bedürfnisse.