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

Cis*_*ran 8 size android screen pixel absolutelayout

所以我在Eclipse中使用图形编辑器AbsoluteLayout,固定像素值等制作了一个应用程序......一般来说只是不好的做法.它违约了3.7in screen.有没有什么办法design一个separate layout每个屏幕尺寸并有计划选择基于所述屏幕尺寸加载?

cV2*_*cV2 10

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

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

从Android 开发者网站 - 只需使用layout-small/layout-xlarge/etc ..文件夹:=)最好的方式..


Cis*_*ran 9

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

    Display display = getWindowManager().getDefaultDisplay(); 
    int width = display.getWidth();
    int height = display.getHeight();
Run Code Online (Sandbox Code Playgroud)

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

if (width == 480 && height == 800)
    {
        setContentView(R.layout.main);
    }
Run Code Online (Sandbox Code Playgroud)

这是针对API <13,现在这些函数已被弃用,请参阅此屏幕尺寸以像素为单位

  • 当Android为您完成所有操作时,您为什么要这样做?只需将您的单独布局放在适当的资源文件夹中 - 例如layout,layout_ldpi,layout_mdpi,layout_hdpi. (5认同)