0

画面サポートに関する Android のドキュメントによると、次のように記述されています。

  • 特大画面は 960 dp x 720 dp 以上
  • 大画面は 640 dp x 480 dp 以上
  • 通常の画面は 470dp x 320dp 以上
  • 小さな画面は少なくとも 426 dp x 320 dp

次のようなコード スニペットがあります。

Display display = getWindowManager().getDefaultDisplay();
int displayWidth = display.getWidth();

displayWidth出力に関連する XML レイアウトの値の範囲を把握する必要があります。

例として、次のような回答が必要です。

0 < displayWidth < 320の場合は小さい画面です

上記のフレーズは間違っている可能性があります。例を見ただけです。

さらに、res ディレクトリの下に、layout、layout-small、layout-large、layout-xlarge、layout-xlarge-land などのディレクトリを作成できます。では、これらのレイアウトに適用可能な displayWidth は何ですか。

例として、上記のように;

レイアウトが小さい場合、0 < displayWidth < 320の場合

ありがとうございました。

4

3 に答える 3

0
  try {
        WindowManager wm = (WindowManager) this
                .getSystemService(Context.WINDOW_SERVICE);
        Display display = wm.getDefaultDisplay();

        if (display.getHeight() == 480 && display.getWidth() == 320) {

                  //Medium Screens
            i = 1;
            return i;
        } else if (display.getHeight() == 320 && display.getWidth() == 240) {
                 //Small Screens
            i = 1;
            return i;
        } else if (display.getHeight() == 800 && display.getWidth() == 480) {
                //Large Screens
            i = 1;
            return i;
        } else if (display.getHeight() == 1280 && display.getWidth() == 800) {

               //X-large Screens
           i = 2;
            return i;
        }

    } catch (Exception e) {
        i = 0;
    }
    return i;
于 2012-06-12T07:13:32.993 に答える
0

画面の対角線の長さは以下のように計算したほうがいいと思います。

DisplayMetrics  displayMetrics = getResources().getDisplayMetrics();
    double screen_phys_width  = (double)displayMetrics.widthPixels / displayMetrics.xdpi;
    double screen_phys_height = (double)displayMetrics.heightPixels / displayMetrics.ydpi; 
    screen_diagonal = Math.sqrt(screen_phys_width * screen_phys_width + screen_phys_height * screen_phys_height);
于 2012-06-12T07:14:47.607 に答える
0

layout-small または layout-large などのレイアウトのどのレイアウトが使用されるかを知ることが目的の場合は、このトリックを使用できます。可視性を失ったビューを作成し、このビューにタグを追加して、レイアウトの種類を示すことができます。

実行時に、このビューを取得してそのタグをテストできます。これにより、どのレイアウトが使用されているかがわかります。

Android のドキュメントには、そのような画面の寸法に対して、対応するタイプのレイアウトが使用されるという情報が記載されています。さまざまな画面サイズに合わせてさまざまなレイアウトを作成するのは、設計上の決定です。

于 2012-07-26T16:53:53.870 に答える