Android: Overlay-Fenster, über die Aktivitäten einer Aufgabe

Wollte ich ein Overlay erstellen, wie ein HUD, die sich auf dem Bildschirm während
meine Anwendungen activity-stack (die Aufgabe meiner app) verpasst.

Fand ich ein paar Beispiele für die Verwendung von WindowManager, aber ich konnte nicht herausfinden, die Parametrisierung für die richtige z-index, wenn Sie wollen. Es war entweder zu schwach, die nächste Aktivität gehen würde, ontop meiner overlay oder zu stark die überlagerung wurde eine system-wide-overlay, das war sichtbar, auch wenn die app in den hintergrund gerückt.

Mein Ziel für die Anzeige einer Sicht auf alle Aktivitäten gehören zu meinem app oder task (app wäre bevorzugt). Ich bin mir bewusst, dass apps und Aufgaben sind zwei verschiedene Dinge, die auf android -...

Was ich explizit nicht wollen, ist auf system-wide windows erfordern android.die Genehmigung.SYSTEM_ALERT_WINDOW

--- mein Anwendungsfall --

Ich die Umsetzung einer Strömung, die eine Aktivität bietet ein Formular für Benutzereingaben. dass die Benutzereingaben verarbeitet werden in eine sehr komplexe Art und Weise, woraus sich ein mögliches Ergebnis von +/- 10 Staaten. Die Bearbeitung kann bis zu 10 Minuten dauern und je nach Ausgang des Prozesses möchte ich anzeigen, um eine entsprechende Ansicht. Während der Prozess läuft, ich Absicht, um den Benutzer aktualisiert, aber die können ihm nicht erlauben, navigieren in der app (außer beim Abbruch des Prozesses). Jedes mögliche Ergebnis des lang andauernden Betrieb in einer anderen Aktivität.

Ich bin mir wohl bewusst, dass es mehrere Ansätze möglich (zum Beispiel mit einer Aktivität nur). Aber die Entscheidung wurde bereits getroffen und ist nicht Gegenstand der Frage. Ich habe implementiert eine Lösung, die verwendet, Windows-System zur Anzeige von overlay in. Zum ausblenden der Overlays habe ich zu zählen, onStart, onStop Ereignisse und interpretieren "- App hat sich zu bewegen in den hintergrund" und "- App hat Einzug in den Vordergrund". Das fühlt sich schmutzig, und ich bin nicht zufrieden mit dieser Lösung. Ich würde eher einen Schritt zurück machen und meine overlay auf der Oberseite des aufrufenden Aktivität und nach Abschluss des Prozesses verstecken und sich vorwärts zu bewegen, um die Aktivität das Ergebnis angezeigt wird.

Eine weitere Sache, die ich versucht habe, ist das verschieben einer Ansicht von einer Aktivität zur anderen. Aber diese zeigt einige flackern und die Unterbrechung der meine animation, die ich nicht mag.

Ich würde es begrüßen, wenn wir den Fokus auf die Frage, ob es möglich ist, einen Blick auf die Spitze der Anwendung/task-Fenster statt, die in einem system oder Fenster Aktivität 😉

  • es scheint mir, dass die einzige Aktivität der breiten-oder system-wide windows verfügbar sind....
  • Würde das overlay reagiert auf touch events?
  • warum nicht Sie geben Sie die gewünschte Ansicht auf der alle Aktivitäten von xml? Denn selbst wenn wir einen Weg finden, um anzeigen, die eine überlagerung auf der Oberseite der alle Ihre Aktivitäten in der runtime wird es entweder - 1.) Sperren Sie Ihre Aktivität oder 2.) Verlieren den Fokus, wenn Ihre Aktivitäten sind angeklickt/berührt/aufgerufen.... Auch könnten Sie bitte erklären, mehr über Ihre Absichten, und ich.e, was genau Sie anzeigen wollen, dass die overlay-Ansicht und wie soll es reagieren? Jede Bezugnahme auf einen vorhandenen app mit dem gleichen feature wird leicht zu verstehen.
InformationsquelleAutor Jakob | 2013-09-17
Schreibe einen Kommentar