Overlay

N

N3cron

Fortgeschrittenes Mitglied
1
Hallo zusammen. Meine Frage bezieht sich auf den LMT Launcher oder wie es die meisten wahrscheinlich kennen PIE Control

Wie erstellt man so etwas?
Ist es eine art "widget", oder "service"?
Wie geht man da vor?

Ich habe mal einen SliderDrawer erstellt. Dort habe ich aber eine Activity.

Was ich machen möchte: Ich möchte es mir so wie auf dieser Seite erstellen
Android Sliding Drawer Tutorial | Androidpeople.com
allerdings soll im Hintergrund keine Activity sein.

Ich möchte mich im Launcher"Homescreen" befinden und einen button von unten nach oben schieben können.

Wo wir wieder bei PIE Control sind. Dort hat man eine leiste links rechts oder unten. Diese klappt sich bei betätigung aus und man kann sachen auswählen.

Genau so, möchte ich mir etwas erstellen. Allerdings darf die unsichtbare leiste bei mir ruhig sichtbar sein.

Mir geht es nur darum, wie muss ich vorgehen um mir so etwas selber zu erstellen.

Daher auch die Frage ob es eine art widget oder service ist.

Wie erstellt man etwas grafisches zb "button oder Leiste" ohne eine Activity zu haben?


Ich hoffe es kann mir jemand weiter helfen.

Vielen Dank
 
Hi. Kann mir keiner helfen? 66 Views und keine ne Ahnung wie ich das umsetzen muss?
 
Deduktion:

- Ein View braucht eine Referenz auf eine Activity.

- Eine Activity startest du entweder aus deinem Code - oder du startest eine Fremde (z. B. vom System oder eine andere App).

- Da der Launcher/Homescreen aber nicht dein Code ist, kannst du hier nichts "reinzaubern", weil du keine Referenz da drauf bekommst und weil es ein anderer Prozess/Adressraum ist.

Es gibt wenige Ausnahmen, die so aussehen, als ob da "fremder" Code drin läuft - z.B. Notifications. Leider scheint das nur so. Hier werden Remotable Views verwendet.

In anderen Worten - wenn du willst das der Launcher anders tickt wie jetzt, frag den Entwickler oder schreib deinen eigenen Launcher. Erweitern kann man den leider nicht wie du es dir vorstellst.
 
Monsti, er brauch keine Referenz zum Launcher und muss nichts reinzaubern. Es gibt in Android die Möglichkeit Dinge über allen anderen Anzeigen zu lassen.
Dazu brauchst du einen Service, der das Fenster erstellt. Dafür benötigst du die Berechtigung android.permission.SYSTEM_ALERT_WINDOW (kannst danach ja Googeln, wird schon was passendes dabei sein).

android - Creating a system overlay window (always on top) - Stack Overflow
 
Das erfüllt die Spezifikation "always on top" - so wie z.B. ein Toast Fenster.

Wie realisierst du damit die Einschränkung 'Ich möchte mich im Launcher"Homescreen" befinden und einen button von unten nach oben schieben können. '

Denn das ist dann immer und überall vorhanden.
 
Vielen Dank. Ich werde es mir anschauen

Der ursprüngliche Beitrag von 14:34 Uhr wurde um 16:01 Uhr ergänzt:

Hi. Hab es mir vorhin mal angeschaut. Einen Service habe ich erstellt.
Einen SliderDrawer habe ich auch. Wie aber erstellt man denn den Button auf dem Homescreen ohne ein komlettes layout zu haben"activity"?
Verstehe noch nicht ganz wie das verknüpft werden soll.

Ich hoffe du kannst es mir noch etwas genauer erläutern.

Danke
 
@monsti: Probleme sind dafür da, gelöst zu werden :) Ne, ich sagte ja nicht, dass mein Ansatz die Lösung aller Probleme ist, aber es ist ein Ansatz, den man ausprobieren kann (und womöglich mehr hilft, als direkt die Segel zu streichen ;) )

Nichtsdestotrotz meine spontanen Gedanken zu deinem angepsrochenen Problem der ständigen Sichtbarkeit über allen Apps: man kann sich einen AccessibilityService einrichten, welcher darüber informiert wird, wenn sich das aktuelle Fenster/App ändert. Je nachdem, ob der Launcher grad gezeigt wird - oder eben nicht, könnte der Overlay-Service gestartet, gestoppt, ausgeblendet oder wie auch immer werden.

@N3cron: Im Service hast du einen WindowManager. Über diesen (per addView) kannst du Views zu deinem Overlay Window hinzufügen.
 
Probleme kann man lösen ;)

Das hier klingt aber nach Einhorn bauen :lol:
 
lach, netter Kommentar :D :laugh: Magst womöglich auch Recht haben. Aber das soll nicht mein Problem sein, da ich das ja nicht umsetzen will :)
 
Hi. Hilft mir schon weiter. Mir ging es ja auch nur darum wie man es umsetzen kann und da fehlten mir die Schlagworte.

Das sieht gut aus. Werde mich morgen mal an die Arbeit machen.

Ein paar apps habe ich für mich ja schon geschrieben.

Bisher nur noch nicht mitm Service usw gearbeitet. Aber schau´n wa ma ;)

Vielen Dank Jungs!
 

Ähnliche Themen

kukuk
Antworten
22
Aufrufe
2.241
swa00
swa00
kleinerkathe
  • kleinerkathe
Antworten
0
Aufrufe
831
kleinerkathe
kleinerkathe
R
  • <Rookie>
Antworten
3
Aufrufe
797
Black NEXUS
Black NEXUS
Zurück
Oben Unten