Icon modifizieren wenn neue Meldungen

  • Antworten:5
Michael H
  • Forum-Beiträge: 127

19.10.2012, 11:44:17 via Website

Hallo zusammen

Wenn ich auf meinem SIII eine Mail bekomme, wird das App Icon mit einem Kreis und der Anzahl neuen Mails modifiziert. Halt iPhone-like :)
Nun kriegt man das irgendwie auch für die eigene App hin? Meine App hat ein Startscreen mit ein paar Icons, welche in die verschiedenen Bereiche führen. Nun möchte ich halt auf so einem Icon (wenn neue Meldungen vorhanden) diesen Kreis mit der anzahl neuen Meldungen zeichnen.

Hat das schon jemand gebraucht?

Gruss Michi

Antworten
Florian B.
  • Forum-Beiträge: 284

19.10.2012, 12:53:16 via Website

Die App Icon selbst im Launcher können das nicht, auch auf dem Desktop nicht. Aber du kannst ein Widget erstellen, dass aussieht wie ein App Icon und dort die Funktionalität einbauen.

Antworten
Michael H
  • Forum-Beiträge: 127

19.10.2012, 13:57:56 via Website

Ja aber ich will nicht das App Icon selbst, sondern ein Icon in meiner App modifizieren...
Sorry für die schwer verständliche Beschreibung anfangs...

Antworten
Andy N.
  • Forum-Beiträge: 3.112

19.10.2012, 14:14:38 via App

Wenn Deine App ein veränderbaren Icon haben soll, dann musst Du es mit einem Widget lösen.
Oder was willst Du modifizieren ? Ein fremdes Icon?

— geändert am 19.10.2012, 14:15:43

Antworten
Florian B.
  • Forum-Beiträge: 284

19.10.2012, 15:04:15 via Website

Ah ok, da hatte ich dich falsch verstanden.

Sollte eigentlich nicht so schwer sein. Eigentlich musst du ja nur das Badge mit der Anzahl der neuen Nachrichten, über das Icon legen. Das kannst du letztendlich mit einem RelativeLayout machen. Pack um das Icon ein RelativeLayout drum rum und füge zusätzlich zu dem Icon noch eine TextView ein.

In einem RelativenLayout sind alle View zunächst mal oben links ausgerichtet und überlagern sich. D.h. wenn du erst das Icon und dann die TextView in das RelativeLayout legst, dann wird der Text auf dem Icon angezeigt.

Als Hintergrund der TextView setzt du eine Grafik, die ein leeres Badge darstellt. Die Anzahl der Nachrichten wird dann von der TextView dargestellt. Die TextView kannst du dann noch innerhalb des RelativeLayouts ausrichten. Schau dir dazu am besten mal die Doku an, da hast du recht viele Möglichkeiten.

In der OnResume(), der Activity musst du dann prüfen ob es neue Nachrichten gibt, wenn ja, dann holst du dir die TextView, setzt sie aus sichtbar und setzt den Text auf die Anzahl der Nachrichten. Wenn es keine neuen Nachrichten gibt, dann versteckst du die TextView einfach.

Antworten
Michael H
  • Forum-Beiträge: 127

19.10.2012, 16:27:36 via Website

Genial!
Genau sowas habe ich gesucht. Vielen Dank für deine ausführliche Beschreibung...
Gruss Michi

Antworten