我想在图片上绘制一些东西,在这之后,它是一个Bitmap。我想将此位图添加到通知作为其图标。但它的图标必须是int Id。我该怎么做?谢谢你的回答~~~~请跟我说!
答案 0 :(得分:5)
从此Post我开始知道通知图标将采用资源图像。所以你不能在Small图标中做动态。但你可以从Api Level 11做大图标。
为此,您可以使用Notificaiton.Builder
Refer here
其他方式也在那里。也就是说,您可以更改下拉通知时显示的图标。为此,您必须使用RemoteViews
答案 1 :(得分:2)
您可以将图像文件放在res-> drawable(或drawable-hdpi,ldpi,mdpi)中,例如notify.png并使用它
myNotification = new Notification(R.id.notify, "Notification!", System.currentTimeMillis());
或
尝试使用AnimationDrawable。您可以使用它们将多个drawable组合成一个drawable,并选择要显示的drawable。我真的认为,这是要走的路。
更多信息:AnimationDrawable
当然,您必须为要显示的所有整数提供单独的绘图,但这样,您可以轻松更改通知的外观
答案 2 :(得分:0)
将您的位图转换为可绘制的,然后您可以将其用作对话框中的通知图标。
答案 3 :(得分:0)
试试这个:
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);
我已经拍摄了默认图像,您可以将图像文件保存在res-> drawable(或drawable-hdpi,ldpi,mdpi)文件夹中。将任何位图分配给图标,您将获得所需的输出。
答案 4 :(得分:0)
尝试使用xml绘制图像,并将其放入n.icon = R.drawable.x;
等图标中抽拉/ 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>
答案 5 :(得分:0)
如果您正在使用Android Studio,则始终可以将原始图像转换为图像资源,并且可以生成您可以轻松使用的正确图像格式,即分配ID。您可以选择覆盖默认资源名称或使用其他名称。