2012-10-25 12 views
5

Chcę narysować coś na obrazku, po zrobieniu tego, jest to bitmapa. Chcę dodać tę mapę bitową do powiadomienia jako jej ikonę. ale ikona musi być int. Id. Jak mogę to zrobić? dzięki za odpowiedź ~~~~ pls hlep mnie!Jak używać bitmapy jako ikony powiadomienia

+0

Na czym polega problem? Dlaczego się przełączać? – Abhi

Odpowiedz

2

Możesz umieścić plik obrazu w li-> rozciągliwej (lub rozciągliwej-hdpi, ldpi, MDPI), na przykład notify.png i używać go

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

lub

Spróbuj użyć AnimationDrawable jest. Możesz ich użyć do połączenia wielu rysunków w jeden i wybrać ten, który chcesz wyświetlić. Naprawdę myślę, że to jest droga.

Więcej informacji: AnimationDrawable

Off Oczywiście, trzeba będzie zapewnić indywidualne kanału alfa dla wszystkich liczb całkowitych, które chcesz wyświetlić, ale w ten sposób można łatwo zmienić wygląd powiadomień

0

przekształcić was bitmap jako drawable, a następnie można go użyć jako ikony powiadomienia w oknie dialogowym.

+0

Nie można przekazać losowania tylko identyfikatora zasobu wyciągu jako int – voytez

0

Spróbuj tego:

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); 

Brałem domyślny obraz można zachować plik obrazu w li-> rozciągliwej (lub odkształcalne-hdpi, ldpi, MDPI) folder.Assign dowolną bitmapę do ikony i otrzyma pożądany wynik.

5

Z tego Post dowiedziałem się, że ikona Powiadomienia zajmie obraz Zasobów. Więc nie możesz zrobić dynamicznego w małej ikonie. Ale można zrobić dla dużej ikony z Api Level 11.

do tego można użyć Notificaiton.BuilderRefer here

Innym sposobem jest także tam. To znaczy, że możesz zmienić ikonę, która pojawi się po usunięciu powiadomienia. Do tego trzeba użyć RemoteViews

Refer here

0

spróbować użyć xml narysować obraz, i umieścić go w ikonę jak n.icon = R.drawable.x;

odkształcalne/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

Jeśli używasz Android Studio, zawsze można zamienić oryginalny obraz do zasobu graficznego i że należy wygenerować odpowiedni format obrazu, które można łatwo używać, tj przypisz identyfikator. Możesz wybrać zastąpienie domyślnej nazwy zasobu lub inną.

Powiązane problemy