我在通知中显示的图标遇到了麻烦。我已经通过material designs page图标和Notification doc

我使用了BMP 256颜色格式的不同比例:360px,144px,48px,24px 16px都继续显示白色块。

我将格式更改为PNG,使用了144px(在代码中使用的名称为“ ic_notify_icon”),仍然没有运气。

//Global
private NotificationManager mNotifyManager ;
private Notification mNotify;

private void initialize() {
    mNotifyManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
    Notification.Builder mNotificationBuilder = new Notification.Builder(this);
    mNotificationBuilder.setSmallIcon(R.mipmap.ic_notify_icon);
    mNotificationBuilder.setContentTitle("A Title here");
    mNotificationBuilder.setContentText("Some content text here");
    mNotify = mNotificationBuilder.build();
    ShowNotify();
}

private void ShowNotify(){
    //...some code here
    mNotifyMan.notify(0, mNotify);
    //...some code here
}


有什么建议么?

ps。我看了this post,也是同样的问题,但是我觉得它没有帮助/用处,或者我只是不理解要求...

最佳答案

我找到了解决方案!

我只发现了有关Android通知(SDK 22 /版本5.1.1)的要求的提示,但是经过4个小时的搜索,终于找到了一个完整且有效的解决方案。

这是我遵循的步骤,似乎与各种论坛,问题/答案和文档中提到的内容保持一致,但不需要“步骤/要求”:

创建和准备图像


创建图像,但是您可以根据需要选择应用图标:
android - android通知图标显示为白色块-LMLPHP
又快又脏
下载应用程序以设置透明度-我使用了IrfanView,效果很好
android - android通知图标显示为白色块-LMLPHP
这是我在IrfanView中的图片
在IrfanView中打开图像,click File > Save As or press 's'
您应该打开一个Save Dialog(在保存对话框的右下方,然后是一个保存选项对话框,如果没有,请选中Save options dialog复选框,它应该会打开)
我的设置(默认设置)是:


压缩等级-6
使用主窗口颜色获得透明度-已选中
二进制编码
(ICO):使用主窗口颜色进行透明度-已选中

选中以下两个框:


保存透明色-已选中(我只选中了此复选框,但没有成功-有人可以解释为什么不这样做)
将Transparentcy保存为Alpha通道-已选中

另存为PNG文件。
android - android通知图标显示为白色块-LMLPHP
保存框和保存选项


在Android Studio中:


Right-Click Drawable folder > Add image asset(任何资源文件夹都应该做)
android - android通知图标显示为白色块-LMLPHP
从顶部下拉列表中单击Notification Icon(默认为Launcher Icon
android - android通知图标显示为白色块-LMLPHP
选择Image > Browse to image> click ok
android - android通知图标显示为白色块-LMLPHP
您会注意到您的图像是灰度的


这是正常现象,因为Lollipop SDK (API 21 - Ver 5.0.1)仅允许这种配色方案,在搜索中我遇到了材料设计页面,其中提到了该行中的某些内容(有人可以对此进行扩展)

在下面,您会注意到您的通知图标使用不同的“ dpi分辨率”,通常添加图像会显示白色块,但是添加透明度可以解决此问题。

我相信可以从“彩色”的角度使用此颜色,在这种情况下,IrfanView具有默认的黑色背景,从而针对该颜色创建了“反转”图像(假设在IrfanView中,一个保留了“使用主窗口颜色”为了提高透明度-选中”),您可以创建其他有趣的图像。

我真的希望这会有所帮助!

07-28 03:16