在Jelly Bean中为Android通知创建高分辨率大图标的问题


11

我正在尝试为Android通知创建漂亮的高分辨率图形,但是遇到了一些问题。在Jelly Bean中,通知横幅(请参阅下面的#2大型图标)的左侧有一个用于放置大图标的新位置(请参见此处的通知设计指南):

在此处输入图片说明

所有库存的Android图标都很漂亮且具有高分辨率,但是不幸的是,我在illustrator / photoshop中创建的图标在高分辨率显示器上看起来不那么清晰。

我的文件大小为96 x 96px,但是我担心这不是高分辨率图标的合适大小,而且我也找不到任何关于最佳尺寸的好信息。

任何帮助是极大的赞赏!

Answers:


18

Android图标(和其他UI元素,例如拖动长度)的测量单位为dp。A dp是与设备/密度无关的像素1 dp相当于160 dpi屏幕上的1像素。但是要转换为其他屏幕密度,您需要将其乘以密度因子。因此,通常建议为大多数图标提供多个图像

例如,状态栏中使用通知图标指定为24x24 dp,边距为1 dp(因此实际图标仅占用22x22 dp光学正方形,尽管某些AA可以渗入该1 dp边距/安全帧)。要将24 dp转换为实际像素大小,请使用以下粗略计算:

display density  dp units * scale = px units
ldpi   ~120 dpi   24x24 dp * .75   = 18x18 px
mdpi   ~160 dpi   24x24 dp * 1.0   = 24x24 px
hdpi   ~240 dpi   24x24 dp * 1.5   = 36x36 px
xhdpi  ~320 dpi   24x24 dp * 2.0   = 48x48 px
xxhdpi ~480 dpi   24x24 dp * 3.0   = 72x72 px

还有称为中间显示密度tvdpi(〜213 DPI),其坐在之间mdpihdpi,并且具有的比例因子1.33,但是这是更常见。Android文档建议您3:4:6:8:12在为最常见的显示密度提供预缩放的位图图像(通常为PNG)时遵循缩放比例。

我在任何地方都没有看到为通知中使用的大图标指定dp大小的地方,但是普通收件箱视图中每个通知的高度为64 dp。因此,这意味着显示的图标/图像的最大大小为:

ldpi:      48x48 px
mdpi:      64x64 px
hdpi:      96x96 px
xhdpi:   128x128 px
xxhpdi:  192x192 px

如果您想确切地知道Android的股票图标的图像大小,则应该能够从Android图标模板包v4.0中找到

另请参阅以下SO问题:蜂窝通知:如何设置largeIcon为正确的大小?


3
您应该重写一些android的设计文档!该信息已存在,但未非常有效地压缩。这些文档大多数时候都是很棒的,但是在这里他们使我失望了。非常感谢您提供最清晰,最简洁的解释!
丹尼尔·史密斯
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.