让我先告诉大家我所做的研究。
在developer.android.com上,它指出,为了支持不同的屏幕大小,应该执行以下操作:
res/layout/my_layout.xml // layout for normal screen size ("default")res/layout-large/my_layout.xml // layout for large screen sizeres/layout-xlarge/my_layout.xml // layout for extra-large screen sizeres/layout-xlarge-land/my_layout.xml // layout for extra-large in landscape orientation它还指出,绘图应按如下比例缩放:
要为不同的密度创建替代位图图,您应该遵循6种广义密度之间的3:4:6:8:12:16比例比例。例如,如果您有一个用于中等密度屏幕的48x48像素的位图,那么所有不同的大小应该是:
这是我的问题,假设我在设计nexus 10,在景观模式。该设备随后将落入res/layout-large-land/,其屏幕密度将在(2.0x) for extra-high-density - xhdpi下。
但我不明白的是,nexus 10有一个平板大小的屏幕,但它属于xhdpi,这意味着从可绘制资源文件夹中获取的图像将在此设备上显示得更小。我已经在nexus 10和我的手机上测试过这个,图像在nexus 10上要小得多,正如我所预期的那样。
一段时间以来,我一直对此感到困惑,我做了很多研究。有人能帮我澄清一下这个问题吗?谢谢。
发布于 2017-08-18 08:24:46
Nexus 10当然有平板大小的屏幕(10.1英寸),但是由于它的xhdpi只有299英寸,所以属于Pixel Per inch(ppi) (超高密度)类。通过检查设备是DPI,您可以很容易地识别出设备属于哪一类。下面是不同类别的密度。
ldpi - 120 dpimdpi - 160 dpihdpi - 240 dpixhdpi - 320 dpixxhdpi - 480 dpi在这种情况下,三星Galaxy 10英寸平板电脑的PPI只有149。因此,它属于mdpi类。请参阅本站,它有助于轻松理解哪个设备具有什么dpi及其密度类。还建议使用本网站来了解有关不同设备屏幕大小的更多信息。
Nexus 10平板电脑只是一个附加信息,它是一个xhdpi设备,但它的启动图标(可以说是应用程序中最重要的部分)使用了xxhdpi类。
https://stackoverflow.com/questions/45751272
复制相似问题