Android通知图标

时间:2011-04-27 09:10:12

标签: android

我正在通过后台服务发出通知。在通知中我正在显示图像,图像尺寸为15 * 15。但是当显示图像时,它会自动拉伸到大尺寸,因此变得模糊。我没有在程序中指定图像大小。为什么会这样?

3 个答案:

答案 0 :(得分:10)

参考状态栏图标指南: http://developer.android.com/guide/practices/ui_guidelines/icon_design_status_bar.html

对于 hdpi 状态栏图标图像应为38px高度(24x38),
mdpi - 16x25
ldpi - 12x19

答案 1 :(得分:8)

小图标

Guildlines表示24x24,即mdpi。

应用转化dp*density/160,您可以获得这些像素分辨率:

ldpi 18x18
mdpi 24x24
hdpi 36x36
xhdpi 48x48

(指南实际上现在列出了这4个维度)

动态调整大图标

如果您要创建图像或调整图像大小以修复大型通知图像区域,则可以获得像素尺寸:

int width  = resources.getDimensionPixelSize(android.R.dimen.notification_large_icon_width);
int height = resources.getDimensionPixelSize(android.R.dimen.notification_large_icon_height);

请参阅https://developer.android.com/reference/android/R.dimen.html#notification_large_icon_height

答案 2 :(得分:0)

这是因为在Java中指定尺寸时,它自动被视为像素值。

您必须在某处实现辅助方法,最好在辅助类中实现,它根据提供的像素值计算并返回与密度无关的像素值。

等式为px = dip * (density / 160),我们从中得到dip = px / (density/160)

这个答案here实际上更好。