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

时间:2011-06-27 06:54:51

标签: android size screen pixel absolutelayout

所以我在Eclipse中使用图形编辑器,AbsoluteLayout,固定像素值等制作了一个应用程序...一般来说只是不好的做法。它默认为3.7in screen。有没有办法design separate layout每个屏幕尺寸,并让程序根据所述屏幕尺寸选择加载哪个?

3 个答案:

答案 0 :(得分:10)

  

为不同的屏幕尺寸提供不同的布局   默认情况下,Android会调整应用程序布局的大小以适应当前的设备屏幕。在大多数情况下,这很好。在其他情况下,您的UI可能看起来不太好,可能需要针对不同的屏幕尺寸进行调整。例如,在较大的屏幕上,您可能需要调整某些元素的位置和大小以利用额外的屏幕空间,或者在较小的屏幕上,您可能需要调整大小以使所有内容都适合屏幕。
  可用于提供特定于大小的资源的配置限定符是small,normal,large和xlarge。例如,超大屏幕的布局应该在layout-xlarge /.
>中   从Android 3.2(API级别13)开始,不推荐使用上述大小组,您应该使用sw< N> dp配置限定符来定义布局资源所需的最小可用宽度。例如,如果多窗格平板电脑布局需要至少600dp的屏幕宽度,则应将其放在 layout-sw600dp / 中。使用新技术声明布局资源将在有关为Android 3.2声明平板电脑布局的部分中进一步讨论。

来自Android developer site - 只需使用layout-small / layout-xlarge / etc ..文件夹:=) 有史以来最好的方式..

答案 1 :(得分:9)

我通过在启动时运行此代码来修复此问题

    Display display = getWindowManager().getDefaultDisplay(); 
    int width = display.getWidth();
    int height = display.getHeight();

从那里我做一个if语句来检查分辨率并加载为该分辨率制作的特定布局。 EX。 WVGA屏幕是800x480,所以我检查并加载布局。

if (width == 480 && height == 800)
    {
        setContentView(R.layout.main);
    }

这是针对API< 13,现在这些函数已被弃用,请参阅此Get screen dimensions in pixels

答案 2 :(得分:0)

而只是在" res"中创建不同的文件夹。夹, "布局小"对于小屏幕, "布局大"对于大屏幕, "布局XLARGE"用于超大屏幕。 相应地设计布局。点击here了解更多信息..