Android上不同屏幕尺寸的不同布局?

Android上不同屏幕尺寸的不同布局?,android,size,screen,pixel,absolutelayout,Android,Size,Screen,Pixel,Absolutelayout,因此,我在Eclipse中使用图形编辑器制作了一个应用程序,绝对布局,固定像素值,等等。。。只是一般的坏习惯。它在屏幕中默认为3.7。有没有办法为每个屏幕大小设计一个单独的布局,并让程序根据所述屏幕大小选择要加载的内容?我通过在启动时运行此代码解决了这个问题 Display display = getWindowManager().getDefaultDisplay(); int width = display.getWidth(); int height = disp

因此,我在Eclipse中使用图形编辑器制作了一个应用程序,
绝对布局
,固定像素值,等等。。。只是一般的坏习惯。它在屏幕中默认为
3.7。有没有办法
为每个屏幕大小设计一个
单独的布局
,并让程序根据所述屏幕大小选择要加载的内容?

我通过在启动时运行此代码解决了这个问题

    Display display = getWindowManager().getDefaultDisplay(); 
    int width = display.getWidth();
    int height = display.getHeight();
从那里我做了一个if语句来检查分辨率并加载为该分辨率制作的特定布局。例如,WVGA屏幕是800x480,所以我检查并加载布局

if (width == 480 && height == 800)
    {
        setContentView(R.layout.main);
    }
这是针对API<13的,现在这些函数已被弃用,请参见

为不同的屏幕尺寸提供不同的布局 默认情况下,Android会调整应用程序布局以适应当前设备屏幕。在大多数情况下,这很好。在其他情况下,您的UI可能看起来不太好,可能需要针对不同的屏幕大小进行调整。例如,在较大的屏幕上,您可能需要调整某些元素的位置和大小,以利用额外的屏幕空间,或者在较小的屏幕上,您可能需要调整大小,以便屏幕上的所有内容都可以容纳。
可用于提供特定于大小的资源的配置限定符包括小型、普通、大型和xlarge。例如,超大屏幕的布局应为layout xlarge/

从Android 3.2(API级别13)开始,上述大小组已被弃用,您应该使用swdp配置限定符来定义布局资源所需的最小可用宽度。例如,如果多窗格平板电脑布局要求屏幕宽度至少为600dp,则应将其置于布局-sw600dp/中。在关于为Android 3.2声明平板电脑布局的部分中,将进一步讨论使用新技术声明布局资源

从Android-只需使用layout small/layout xlarge/等。。文件夹:=)
有史以来最好的方法..

只需在“res”文件夹中创建不同的文件夹, 小屏幕的“小布局”, 对于大屏幕,“大布局”, 超大屏幕的“布局xlarge”。
相应地设计布局。单击以获取更多信息。

当Android为您完成所有操作时,您为什么要这样做?只需将你的单独版面放在适当的资源文件夹中——比如layout、layout\u ldpi、layout\u mdpi、layout\u hdpi。因为android将其分为小型、普通、大型和x-large,这些都不足以满足我的需要。这是上面最后一段的一部分:)你说只使用layout small,-xlarge,但是你引用的文档说这是不推荐的。这些屏幕大小类似乎只应用于支持旧设备。开发人员应该更喜欢swdp限定符。