如果真出现这种情况,还真有些奇怪了,按理说超大屏幕,是会取drawable-xhdpi下的图片的。
下面这些知识点,应该能帮到你。
dpi:“dot per inch”的缩写,每英寸像素数。
drawable-ldpi的dpi为120
drawable-mdpi的dpi为160
drawable-hdpi的dpi为240
drawable-xhdpi的dpi为320
另外还得知道一个‘屏幕密度’的概念,呃,这个词语是我自己杜撰的,其实就是知道android的一个规定:dpi为160的屏幕密度为1,其他照着算就行了。
Java code
DisplayMetrics metrics =
null; metrics =
new DisplayMetrics(); activity.getWindowManager().getDefaultDisplay().getMetrics(metrics);
float density = metrics.density;
这段代码能获取设备屏幕分辨率数据,metrics.density就是屏幕密度,当密度为1,则表示设备每英寸显示160个物理像素,则会取drawable-mdpi下的图片,为1.5,取drawable-hdpi,为2,取drawable-xhdpi,为0.75,取drawable-ldpi,lz先看看手机屏幕的密度吧(800*1280,应该是2),这样就能确定到底是取的哪个目录下的图片,再进一步确定问题到底出现在哪。
另外,这样定制图片资源,不上不下的很蛋疼的,android的分辨率,就算是缩放也无法同时满足宽和高。
其实分辨率要求不高的话,只准备一套大图片放在drawable-hdpi或者drawable-xhdpi下就行了,android会根据不同的分辨率进行缩放的,之所以要大图,是因为能保证只缩小而不放大,保证图片不会变得模糊。
而分辨率要求很高,则可以这样一个一个定义,其实更蛋疼- -||
drawable
drawable-ldpi
drawable-mdpi
drawable-hdpi
drawable-xhdpi
drawable-nodpi
drawable-nodpi-1024×600
drawable-nodpi-1280×800
drawable-nodpi-800×480