0

我需要使用基于屏幕分辨率的特定 xml 布局,而不是 size。因此,第一个设计用于分辨率 <= 480x800,第二个设计用于分辨率 >= 480x800。

它是怎么做的?

更新。

我想出了

    Display display = ((WindowManager) getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay();
    final int height = display.getHeight();
    final int width = display.getWidth();



    int leadingResolutionSize = Math.max(height, width);
    if(leadingResolutionSize <= 800){
        setContentView(R.layout.main);
    }else if(leadingResolutionSize > 800 && leadingResolutionSize <= 1024){
        setContentView(R.layout.main_1024_600);
    }else if(leadingResolutionSize > 1024){
        setContentView(R.layout.main_1280_800);
    }

你认为这是一个好的解决方案吗?

4

2 回答 2

1

您可以创建不同的 xml 布局

并将它们全部放入

  • hdpi
  • 身份证
  • mdpi
  • xhdpi

有关更多信息,请参阅答案

于 2012-06-01T09:49:55.820 回答
0

layout您项目中的文件夹包含 xml 文件,这些文件可以默认为PORTRAITMode 设计(在您的情况下为 480*800)。如果你想要模式。LANDSCAPE以同样的方式声明另一个名为layout-land(即 800*480)的文件夹并将布局 xml 文件存储在该文件夹中,并根据您的要求修改这些文件。

于 2012-06-01T10:02:00.127 回答