8

だから私は、グラフィカルエディタ、AbsoluteLayout固定ピクセル値などを使用してEclipseで使用するアプリを作成しました...一般的に悪い習慣です。デフォルトでは3.7in screen. design画面サイズごとに、separate layoutその画面サイズに基づいてロードするプログラムを選択する方法はありますか?

4

3 に答える 3

11

画面サイズごとに異なるレイアウトを提供する デフォルトでは、Android は現在のデバイス画面に合わせてアプリケーション レイアウトのサイズを変更します。ほとんどの場合、これで問題なく動作します。また、UI の見栄えが悪く、さまざまな画面サイズに合わせて調整が必要になる場合もあります。たとえば、大きな画面では追加の画面スペースを利用するために一部の要素の位置とサイズを調整したり、小さな画面ではすべてが画面に収まるようにサイズを調整したりする必要がある場合があります。
サイズ固有のリソースを提供するために使用できる構成修飾子は、small、normal、large、および xlarge です。たとえば、特大画面のレイアウトは、layout-xlarge/ に配置する必要があります。

Android 3.2 (API レベル 13) 以降では、上記のサイズ グループは非推奨となり、代わりに sw<N>dp 構成修飾子を使用して、レイアウト リソースで必要な最小幅を定義する必要があります。たとえば、マルチペイン タブレット レイアウトで少なくとも 600 dp の画面幅が必要な場合は、layout-sw600dp/に配置する必要があります。レイアウト リソースを宣言するための新しい手法の使用については、Android 3.2 のタブレット レイアウトの宣言に関するセクションで詳しく説明します。

Android開発者サイトから-layout-small/layout-xlarge/などを使用するだけです..フォルダ:=)これまでで最高の方法..

于 2011-07-24T18:43:08.153 に答える
8

起動時にこのコードを実行することでこれを修正しました

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

そこから if ステートメントを実行して解像度を確認し、その解像度用に作成された特定のレイアウトを読み込みます。元。WVGA 画面は 800x480 なので、それを確認してレイアウトを読み込みます。

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

これは API < 13 用でした。現在、これらの関数は非推奨です。このGet screen dimension in Pixels を参照してください。

于 2011-06-27T07:10:04.107 に答える
1

代わりに、「res」フォルダーに異なるフォルダーを作成します。小さな画面には「layout-small」、大きな画面には「layout-large」、特大画面には「layout-xlarge」です。それに応じてレイアウトを設計します。詳細については、ここをクリックしてください。

于 2014-04-19T17:49:16.620 に答える