2012-10-10 46 views
5

我创建了一个适用于Nexus 7的Android应用程序。 内部资源文件夹中,我创建了两个文件夹,分别为layout,layout-land“Nexus 7”选项卡,所有内容都工作正常,现在我想创建一个不同的布局对于Samsung Galaxy S3来说,我已经在layout-large & layout-large-land的地方创建了一个文件夹。但是,这里是问题所在。现在,对于Nexus 7,layout-large文件夹中定义的布局正在加载。我可以为Nexus 7创建不同的布局“选项卡& Galaxy S3 mobile?我已阅读Supporting Multiple Screens文档。但我不明白作为针对Nexus 7的屏幕尺寸为1204 X 800的三星Galaxy S3 &屏幕大小为720 X 1280如何为Galaxy S3和Nexus 7创建不同的布局?

如何创建不同的屏幕分辨率&显示尺寸不同的设备不同的布局?此外,基于设备大小,我想在我的应用程序中更改一些值。如何做那个?

+1

是的,这是Android的主要缺点。太多的供应商在做自己的尺寸。你可能想看看我以前的有关多个屏幕的类似问题http://stackoverflow.com/questions/11584107/how-to-deal-with-android-xlarge-screen或http://stackoverflow.com/问题/ 11008199/what-layout-is-suitable-for-720x1280-android-devices或http://stackoverflow.com/questions/10992764/how-android-manages-screen – rxlky

回答

10

选择布局按照Supporting Multiple Screensenter image description here

限定符如small,normal,largexlarge用于Screen Sizes,这意味着如果您提供,Nexus 7将使用large限定符的资源。因此,在使用large限定符创建文件夹之前,Nexus 7将从默认布局文件夹加载资源。至于ldpi,mdpi,hdpixhdpi是用于屏幕密度。

解决你的问题,你需要:

  1. 把布局定义为银河S3到布局,布局sw600dp适用于Nexus 7,请参考Android开发者博客:Getting Your App Ready for Jelly Bean and Nexus 7

  2. 将Galaxy S3的资源(图像或可绘制的东西)放到drawable-xhdpi中,并将可绘制的tvdpi或drawable-hdpi放入Nexus 7中。

希望它可以帮助你,请让我知道如果您有任何其他问题:)

下面是一些有用的参考资料:

What layout is suitable for 720x1280 Android devices?

Screen Width Qualifier

+0

即使在我的布局中为s3定义了'layout','layout-large'也正在加载 – Bharath

+0

然后请尝试将s3的定义放在'layout'中,并根据[Android开发人员博客]将这些用于Nexus的'layout-sw600dp'(http://android-developers.blogspot.co.uk/2012/07/getting-your-app-ready-for-jelly- bean.html)。同时我也更新了我的回答,以包含此评论。 – dumbfingers

+0

没问题。现在,当我执行你以前的评论时,它工作正常。这就是为什么我删除了这个评论。我的错误是,s3的仿真器配置不正确。这就是为什么。无论如何,谢谢你的努力。 +25 – Bharath

0

你需要一个XLARGE和XLARGE土地藏汉

或者你也可以通过调用做到这一点编程:

Display displayparm= activity.getWindowManager().getDefaultDisplay(); 
int width= displayparm.getWidth(); 
int Height= displayparm.getHeight(); 

,并从该信息

+0

@Andres ..我不知道你在这里。为此我应该使用'xlarge'。我已经创建了这样的布局。即使'layout-large'正在为S3和Nexus 7加载 – Bharath

0

您可以通过在res文件夹下添加新文件夹来创建布局作为布局XLARGE布局XLARGE大型和u必须更新Android清单文件,以及支持更高分辨率

0

我已经开发了在那里我支持不同分辨率和密度的多个设备的应用。其中nexus 7和galaxy s3也是其中之一。如果你的项目中有布局大的文件夹,galaxy s3和nexus7显然会从大屏幕文件夹中取出。但是Galaxy S3属于大型HDI类别,而NEXUS7属于大型TVI类别。因此,如果您分别为s3和nexus7分别配置了layout-large-hdpi和layout-large-tvdpi,它将非常有用。

相关问题