按照文档规范,我在drawable-ldpi,drawable-hdpi,drawable-mdpi,drawable-xhdpi分别放置了相应的图片,举例来说,一个铺满屏幕的图片
drawable-ldpi,240*320
drawable-hdpi,320*480
drawable-mdpi,480*800
drawable-xhdpi,720*1280今天发现一个奇怪的问题,图片在三星GALAXY S3上,显示正常,调用的是drawable-xhdpi,720*1280的图片,但是在GALAXY NOTE上,却显示的图片很小,GALAXY NOTE的分辨率是800*1280的,我原本想,再不济,顶多是宽度不够吧,怎么也要选高精度的xhdpi图片啊,为什么却调用了默认的mdpi图片呢?请高手赐教!

解决方案 »

  1.   

    如果真出现这种情况,还真有些奇怪了,按理说超大屏幕,是会取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,其他照着算就行了。    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会根据不同的分辨率进行缩放的,之所以要大图,是因为能保证只缩小而不放大,保证图片不会变得模糊。
        而分辨率要求很高,则可以这样一个一个定义,其实更蛋疼- -||
    drawabledrawable-ldpidrawable-mdpidrawable-hdpidrawable-xhdpidrawable-nodpidrawable-nodpi-1024×600drawable-nodpi-1280×800drawable-nodpi-800×480
      

  2.   

    楼主 我记得不少机器800*480 是hdpi的,
    建议楼主先取出自己那个机器的density 是多少 
    然后再类似这样写 drawable-hdpi-1280×800 可能是xhdpi 具体看你的密度
    为note 指定一个drawable包;
      

  3.   

    GALAXY NOTE 是mdpi所以屏幕很大,是5.3寸可能
      

  4.   

    Note原来是mdpi啊,那图片太小,占屏幕很少部分啊。