如何以相同的分辨率为4“和10”显示器创建不同的布局?

时间:2013-03-19 17:47:20

标签: android android-layout screen-resolution

根据这个Android文档,Supporting Multiple Screens,似乎一个4英寸屏幕在320ppi显示的图像也将被10英寸300ppi使用,但是,相同的4英寸显示器显示的布局将与216ppi的7英寸显示器共享。

供参考,一些流行的Android设备:
Nexus 4: 4.7“1280 x 768像素分辨率(320 ppi)
Nexus 7: 7“1280x800(216ppi)
Nexus 10: 10.055“2560 x 1600(300 ppi)

那么如何实际制作特定的布局,包括特定类型设备的图稿?

例如单独的图像或布局: 4英寸布局上的xhdpi图像 4英寸布局的mdpid图像 10英寸布局上的xhdpi图像

Range of screens supported

2 个答案:

答案 0 :(得分:4)

  似乎4英寸屏幕以320ppi显示的图像也将被10英寸300ppi用于

默认情况下,是的,因为两个设备都将从相同的-xhdpi资源集中提取。它们都会呈现大致相同的物理尺寸。

  

同一个4“显示器显示的布局将与216ppi的7”显示器共享。

默认情况下,不是,只要4“显示为-normal且7”显示为-large,使用旧的大小存储区集,因此如果这些目录中有不同的布局,则每个设备将使用适合该设备的布局。

  

那么如何实际制作特定的布局,包括特定类型设备的图稿?

对于布局,要么使用传统尺寸存储分区(例如-normal-large),要么创建自己的存储区(例如-sw600dp)。

对于drawable,首先将它们放入密度特定的桶中(例如-mdpi-hdpi-xhdpi)。如果您确定图像在逻辑上相同,但您不想在相同密度的设备上使用相同的物理尺寸图像(“4”屏幕,320ppi也将使用10“,300ppi” ),您也可以混合大小资源集限定符(例如,res/drawable-large-hdpi/将用于-large密度为-hdpi的设备。

答案 1 :(得分:1)

您可以将资源xml文件放在适当的文件夹中,例如layout-xlarge-xhdpi或layout-normal-hdpi或layout-large-hdpi,等等。