NotificationCompat 4.1 SetSmallIcon und SetLargeIcon
Ich habe diesen einfachen code, um eine Benachrichtigung in Android 4.1 oder höher.
Es funktioniert gut, aber mein problem kommt mit SmallIcon und LargeIcon.
Ich verstehe, dass SmallIcon wird in der Statusleiste angezeigt, und die LargeIcon gezeigt wird, in der dropdown-Liste.
NotificationCompat.Builder builder = new NotificationCompat.Builder(this);
builder.setTicker("The ticker");
builder.setContentTitle("The title");
builder.setContentText("The text");
builder.setSmallIcon(R.drawable.my_small_icon);
Bitmap bm = BitmapFactory.decodeResource(getResources(), R.drawable.my_96px_large_icon);
builder.setLargeIcon(bm);
NotificationManager nm = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
nm.notify("direct_tag", NOTIF_ALERTA_ID, builder.build());
Mein problem ist:
- Wenn die Meldung lanciert, ein cropped oversized Kleines Symbol angezeigt wird, neben "Der Ticker" text, anstatt zu zeigen, das original SmallIcon ohne überdimensionierung.
- In der dropdown-Liste sehe ich die LargeIcon auf der linken Seite, das ist gut. Aber ich sehe auch das kleine Symbol auf der rechten Seite, neben dem Zeitpunkt der Zustellung. Ich will nicht, dies zu zeigen.
InformationsquelleAutor der Frage Ton | 2012-12-12
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
In meiner Anwendung, die ich groß (128x128 px) PNG drawable als kleines Symbol, und es zeigt, skaliert und ohne beschneiden. Ist dein drawable definiert eine bitmap-Datei oder vielleicht als XML-Ressource? In XML können Sie einige Aspekte der Darstellung (wie z.B. zuschneiden). Überprüfen Sie Ihre XML-oder verwenden Sie einfach die PNG/JPG.
Als Android API-Dokumentation auf Benachrichtigung.setSmallIcon() klar:
AFAIK gibt es keine Möglichkeit, Sie außer Kraft setzen können, das Verhalten, es sei denn, Sie bieten Ihre eigenen notification template (über - Benachrichtigung.setContent()
InformationsquelleAutor der Antwort Jerzyna
Es ist ein Weg, um dieses seltsame Umsetzung. Anstelle der Verwendung von
setLargeIcon
verwenden:InformationsquelleAutor der Antwort Thunder
Ich würde vermuten, dass dies ist das erwartete Verhalten.
Sollten Sie überprüfen, um zu sehen, dass Ihr kleines Symbol folgt die UX-Richtlinien für die icon-Größe. Kleine Symbole sind beschränkt auf 24x24dp.
Dem Standard-Verhalten eines erweiterten Benachrichtigung ist, zeigen sowohl das große Symbol und das kleine Symbol. Ich bin mir nicht sicher, dass es ist ein Weg, um loszuwerden, das kleine Symbol, aber warum ist das wichtig?
InformationsquelleAutor der Antwort Joe Malin
In meinem Fall, ich habe gerade meinen roten Symbol als das große Symbol und die setColor Farbe.WEIßE und legen Sie ein weißes Symbol als meine kleine Symbol. So, die Benachrichtigungen Bereich, mein rotes Symbol angezeigt, und das weiße Symbol "verschwanden".
InformationsquelleAutor der Antwort Hanoch Moreno
In meinem Fall hatte ich nicht das Symbol Bild in allen Ordnern (xhdpi,hdpi,mdpi,ldpi).
InformationsquelleAutor der Antwort sadegh saati