0

我正在为我的嵌入式项目开发 android 应用程序,我对 android 非常陌生。我开发的 UI 应该适用于 android 中的所有类型的屏幕(所有分辨率)。

下面是我的各种分辨率的代码:

      if ( ((width>=240)&&(width<=320))&&((height>=320)&&(height<=480)) )
    {
        setContentView(R.layout.xsmall_layout);
    }
    else if( ((width>=360)&&(width<=480))&&((height>=640)&&(height<=720)) )
    {
        setContentView(R.layout.small_layout);
    }
    else if ( ((width>=480)&&(width<=540))&&((height>720)&&(height<=960)) )
    {
        setContentView(R.layout.medium_layout);
    }
    else if ( ((width>540)&&(width<=800))&&((height>=1024)&&(height<=1280)) )
    {
        setContentView(R.layout.vlarger_layout);        
    }
    else if ( ((width>800)&&(width<=1080))&&((height>=1280)&&(height<=1920)) )
    {
        setContentView(R.layout.x_vlarger_layout);
    }
    else if ( ((width>=800)&&(width<=1024))&&((height>=480)&&(height<600)) )
    {
        setContentView(R.layout.wlarger_layout);
    }
    else if ( ((width>=1024)&&(width<=1280))&&((height>=600)&&(height<=800)) )
    {
        setContentView(R.layout.x_wlarger_layout);
    }
    else if ( ((width>=1280)&&(width<=2560))&&((height>800)&&(height<=1600)) )
    {
        setContentView(R.layout.xx_wlarger_layout);
    }

它工作正常,但这是一个好习惯吗?在我的电脑(英特尔双核,2GB RAM)中,代码中的最后一个分辨率不起作用。我试过 1920x1200 和 2560x1600 。Android模拟器只是没有运行。只是它即将到来的黑屏。这是我的电脑问题还是什么..?帮帮我前辈......

4

3 回答 3

2

取而代之的是,您可以在文件夹中创建不同的布局文件res夹,例如:

layout-land
layout-large
layout-large-land
layout-xlarge
layout-xlarge-land

在每个文件夹中保持 xml 布局文件的名称相同,但您可以提及不同的尺寸值。

无论如何,这是您可以执行的测试用例:

  1. 创建文件夹布局-大
  2. 复制 main.xml 文件并粘贴到 layout-large 文件夹中
  3. 使用一些随机值更改 TextView 的文本大小。
  4. 在不同密度的模拟器中加载应用程序。享受 !!
于 2013-01-29T13:07:21.697 回答
1

请参考这个:http: //developer.android.com/guide/practices/screens_support.html

在本文档中,他们清楚地解释了所有支持的屏幕分辨率和 dpi。

于 2013-01-29T13:13:54.070 回答
0

嗨,火星尝试这样http://developer.android.com/guide/practices/screens_support.html

在这里,他们在 res 中创建了这些布局文件夹

并将相同xml的文件放入每个布局:

layout


         layout-small
                        layout-large
                                         layout-xlarge 

这东西会照顾屏幕大小。

即用于桌子、智能手机等

于 2013-01-29T13:13:25.620 回答