如何使用位图作为通知图标

时间:2012-10-25 05:04:23

标签: android bitmap notifications

我想在图片上绘制一些东西,在这之后,它是一个Bitmap。我想将此位图添加到通知作为其图标。但它的图标必须是int Id。我该怎么做?谢谢你的回答~~~~请跟我说!

6 个答案:

答案 0 :(得分:5)

从此Post我开始知道通知图标将采用资源图像。所以你不能在Small图标中做动态。但你可以从Api Level 11做大图标。

为此,您可以使用Notificaiton.Builder Refer here

其他方式也在那里。也就是说,您可以更改下拉通知时显示的图标。为此,您必须使用RemoteViews

Refer here

答案 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。您可以选择覆盖默认资源名称或使用其他名称。