我创建了一个适用于nexus 7的android应用程序。
在内部资源文件夹中,我创建了两个文件夹,layout
,layout-land
用于Nexus 7“标签。一切正常,直到日期。现在我想为三星Galaxy S3创建不同的布局。为此,我使用layout-large
& layout-large-land
在资源中创建了一个文件夹。但是,问题就出现了。现在,对于Nexus 7,layout-large
文件夹中定义的布局也会被加载。要阻止它?如何为Nexus 7“tab& amp; amp; Galaxy S3手机?我已阅读Supporting Multiple Screens文档。但我无法理解,因为Nexus 7的屏幕尺寸是1204 X 800&三星Galaxy S3的屏幕尺寸为720 X 1280。
如何为具有不同屏幕分辨率的不同设备创建不同的布局&显示尺寸?此外,根据设备大小,我想在我的应用程序中更改几个值。怎么做那个?
答案 0 :(得分:10)
small
,normal
,large
和xlarge
等限定词适用于Screen Sizes
,这意味着Nexus 7将使用large
的资源限定词,如果你提供。因此,在使用large
限定符创建文件夹之前,Nexus 7将从默认布局文件夹中加载资源。对于ldpi
,mdpi
,hdpi
和xhdpi
用于屏幕密度。
要解决您的问题,您需要:
将Galaxy S3的布局定义放入布局,并将Nexus 7的布局-sw600dp放入。请参阅Android开发者博客:Getting Your App Ready for Jelly Bean and Nexus 7
将Galaxy S3的资源(图像或可绘制内容)放入drawable-xhdpi,并为Nexus 7放置drawable-tvdpi或drawable-hdpi。
希望它可以帮助你,如果你有任何其他问题,请告诉我:))
以下是一些有用的参考资料:
答案 1 :(得分:0)
你需要一个xlarge和xlarge-land以及
或者你可以通过调用:
以编程方式完成Display displayparm= activity.getWindowManager().getDefaultDisplay();
int width= displayparm.getWidth();
int Height= displayparm.getHeight();
并从此信息中选择布局
答案 2 :(得分:0)
您可以通过在 res 文件夹下添加新文件夹作为 layout-xlarge 和 layout-xlarge-large 来创建布局更新android清单文件以支持更高分辨率
答案 3 :(得分:0)
我开发了一个应用程序,我支持具有不同分辨率和密度的多个设备。 nexus 7和galaxy s3也是其中之一。如果您的项目中有layout-large文件夹,galaxy s3和nexus7显然会从大屏幕文件夹中获取。但是,Galaxy s3属于大型hdpi类别,而nexus7则属于大型类别。因此,如果你分别为s3和nexus7安装了layout-large-hdpi和layout-large-tvdpi,那将会很有用。