2012-10-25 13 views
5

Ich möchte etwas auf einem Bild zeichnen, danach ist es ein Bitmap. Ich möchte dieses Bitmap als Symbol zur Benachrichtigung hinzufügen. aber das Symbol muss eine int Id sein. Wie kann ich es schaffen? danke für deine antwort ~~~~ pls hlep mich!So verwenden Sie ein Bitmap als Benachrichtigungssymbol

+0

Was ist das Problem? Warum umschalten? – Abhi

Antwort

2

können Sie die Bilddatei in res-> ziehbar setzen (oder ziehbar-hdpi, LDPI, MDPI), zum Beispiel notify.png und es verwenden,

myNotification = new Notification(R.id.notify, "Notification!", System.currentTimeMillis()); 

oder

Versuchen AnimationDrawable der Verwendung. Sie können sie verwenden, um mehrere Zeichen in einem einzigen zu kombinieren, und wählen Sie das aus, das Sie anzeigen möchten. Ich denke wirklich, das ist der richtige Weg.

Weitere Informationen: AnimationDrawable

Off Natürlich werden Sie individuelle Drawables für alle ganzen Zahlen liefern müssen Sie anzeigen möchten, aber auf diese Weise können Sie ganz einfach das Aussehen Ihrer Benachrichtigungen

0

Sie konvertieren ändern Bitmap als Zeichensatz, und Sie können es dann als Benachrichtigungssymbol in Ihrem Dialogfeld verwenden.

+0

Sie können die Ressourcen-ID von drawable nicht nur als int übergeben – voytez

0

Try this:

NotificationManager notificationManager= 
      (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); 
int icon=R.drawable.ic_launcher; 
CharSequence text="Notification Text"; 
long when=System.currentTimeMillis(); 

Notification notification=new Notification(icon, text, when); 
notificationManager.notify(Constants.NOTIFICATION_ID, notification); 

Ich habe das Standardbild genommen Sie Bilddatei in res-> ziehbar halten können (oder ziehbar-hdpi, LDPI, MDPI) folder.Assign beliebige Bitmap auf das Symbol und Sie wird gewünschte Ausgabe erhalten.

5

Von diesem Post Ich erfuhr, dass Benachrichtigungssymbol wird Ressourcen Bild nehmen. Sie können also in Small nicht dynamisch arbeiten. Aber man kann von Api Ebene für großes Symbol tut 11.

Dafür Sie Notificaiton.BuilderRefer here

Andere Art und Weise verwenden können, auch dort ist. Das heißt, Sie können das Symbol ändern, das angezeigt wird, wenn die Benachrichtigung heruntergezogen wird. Dafür müssen Sie RemoteViews

Refer here

0

versuchen Verwenden xml zeichnen Ihr Bild verwenden, und steckte es in Ikone wie n.icon = R.drawable.x;

ziehbar/x.xml

<?xml version="1.0" encoding="utf-8"?> 
<layer-list 
    xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:drawable="@drawable/write_normal_battery1" /> 
    <item android:drawable="@drawable/notif_0" android:left="5.5dip" android:right="13.5dip" /> 
    <item android:drawable="@drawable/notif_9" android:left="13.5dip" android:right="5.5dip" /> 
</layer-list> 
0

Wenn Sie Android Studio verwenden, können Sie immer das Originalbild zu einer Image-Asset konvertieren und das sollte das richtige Bildformat erzeugen, die Sie leicht verwenden können, das heißt eine ID zuweisen Sie können den Standardnamen der Ressource überschreiben oder einen anderen Namen vergeben.

Verwandte Themen