我正在创建一个android应用程序,该应用程序应该在具有明显不同的物理屏幕大小的多个不同设备上运行。 推荐的做法似乎是通过设备的dp宽度来区分屏幕尺寸,例如为相应的设备创建“layout-w700dp”文件夹。替代使用dp-width作为不同布局的鉴别器?
我在Samsung Galaxy Note 2(5.5“)和Samsung Galaxy S4 mini(4.3”)上测试了我的应用程序。由于可用空间的原因,它们都以不同的方式显示布局,因此需要不同的布局文件。
下面是问题:它们都报告640的dp宽度。Note有dp因数为2,像素宽度为1280,S4 mini的dp因数为1.5,宽度为960像素。我怎样才能为设备使用不同的布局文件?在物理尺寸方面存在着相当大的差异,我非常诚实地想知道“设备无关”测量报告每个设备的宽度相同的原因。
是否有任何其他方式使用不同的设备布局文件?
编辑:由于内部限制,我无法提供应用程序的图像,但基本上我需要为我的按钮使用不同的背景,因为“wrap_content”会考虑背景大小(以像素为单位) ,由于密度较低,因此使它们在S4 mini上更大。如果我不这样做,S4上的按钮太大并且重叠。
在此先感谢!
这个布局显示在两个设备上有多大不同?你能提供截图以及布局xml吗? – helleye 2014-09-03 08:51:32
@helleye:我编辑了我的问题 – BoltzmannBrain 2014-09-03 08:58:14