通知图标被裁剪

14
我在我的应用中使用通知,但是通知图标出现了问题。问题在于当通知文本到达时,图标会被裁剪,看起来很糟糕。当滚动栏停止后,图标看起来正常。我附加了一张图片,展示了通知到达和滚动栏完成后的样子。 上面的图片是通知到达时的图标 由于我的应用需要支持API级别8,因此无法使用notificationCompat。在不将图标大小改为36 x 36像素的情况下,我该如何解决这个问题?这个问题只在Nexus 4和HTC One上出现,在我检查的所有三星设备(S2 4.1.2,S2 4.0.3,S3 4.1.2,S4 4.2.2,Galaxy Y)中都正常工作。
提前感谢!
编辑:
我设法使通知不被裁剪。但是!当我添加滚动文本(这是我必须添加的内容)时,通知再次被裁剪。是什么导致这种情况发生?
2个回答

25

通知图标在大多数设备上的最佳解决方案为24x24 dp。

请参见

http://developer.android.com/design/style/iconography.html#notification

或创建以下通知图标大小:

  • drawable-xxxhdpi中的96x96像素

  • drawable-xxhdpi中的72x72像素

  • drawable-xhdpi中的48x48像素

  • drawable-hdpi中的36x36像素

  • drawable-mdpi中的24x24像素

  • drawable-ldpi中的18x18像素

此外,最好将图标置于图标图像的中心,并在其周围留有透明空间。

Google已更新其图标设计页面,以下是另一个链接,显示了您应用程序资源的最佳图标大小。

http://www.creativepulse.gr/en/blog/2014/icon-sizes-for-android-apps


1
但是当我打开通知抽屉时,图标变小了。我正在寻找一个解决方案,当通知到达并开始滚动时,我将看到正确大小的图标,并且当我打开通知抽屉时,我将看到一个大图标(所有这些都不使用notificationCompat)。 - Shalom Melamed
1
@ShalomMelamed 使用 .setSmallIcon 和 .setLargeIcon 分别使用两个不同的 drawable 图标。 - clocksmith
请在drawable-xxhdpi中使用72x72像素大小。 - moondroid
1
这是被接受的答案吗?正如@ShalomMelamed所指出的那样,这只是使图标适合一个地方并在另一个地方缩小。 - Josh

9
如果您使用的是Eclipse,您可以通过标准向导创建通知图标集。
1.进入“文件->新建->其他”。
2.选择“Android->Android图标集”。
3.选择“通知图标”选项,并输入资源名称,然后按“下一步”。
4.为前景选择“图像”,并浏览您的图标文件。
5.点击“完成”。
向导将创建可在setSmallIcon()中使用的drawable资源。我以这种方式创建了我的通知图标,并且它在滚动文本上看起来很好。

1
我尝试使用这个工具,但它只是在不同的尺寸下生成了我的基础图像的轮廓。有什么想法是什么原因导致的吗? - Chicowitz
3
根据http://developer.android.com/design/style/iconography.html#notification中的颜色指南,“通知图标必须是完全白色的。” - Anis Abboud

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接