转载请注明来自:http://blog.csdn.net/icyfox_bupt/article/details/26149145
做一个APP,须要用到通知的功能,可是通知栏上的icon在显示的时候会出现故障。详细的问题就是图标太大,仅仅能显示当中的一部分:
这是程序的icon,ic_launcher.png:
我们想让他正确的显示为这样:
可是假设图片的尺寸没有调整好,就会显示成这样:
滑动出的内容为:
非常不好看,对吧。能够看到,通知仅仅显示出来了中间的一部分,这样的问题一般仅仅在4.0以上出现。
查询andriod官网,发现,对于notify的icon的尺寸,是有规范的:
当中,整个icon的长宽为24*24dp,内容的长宽为22*22dp
以下,仅仅要依据这个大小把图标放到对应的drawable-**dpi目录下就可以:比方,我如今的手机为5寸屏幕,720P分辨率,属于xhdpi,24dp在我的手机上为48px(像素),那么我就做一张48*48px的图片,放到drawable-xhdpi下,看看效果:
尽管还是须要调整,但至少如今能够全然显示出来了。
这里的24dp须要依据不同的屏幕去换算,换算的函数为:
public static int dip2px(Context context, float dpValue) { final float scale = context.getResources().getDisplayMetrics().density; return (int) (dpValue * scale + 0.5f); }然后依据得到的px值切图就可以,普通情况下:
hdpi -------------------- 36*36px
xhdpi ------------------- 48*48px
希望能给大家帮助