0

すべての Android デバイス (タブレットと携帯電話) をサポートするゲームを作りたいです。コーディングで画面サイズを取得できます。3 0r 4 のレイアウトを小、中、大にする必要がありますか? 小、中、大、特大のサイズは?すべてのデバイスのレイアウトを設定する他の方法はありますか?

4

2 に答える 2

0

必要なものの Android ドキュメントは次のとおりです。

http://developer.android.com/guide/topics/resources/providing-resources.html

画面サイズ、画面ピクセル密度、またはその他の要素を使用して、レイアウトを分割する方法を決定できます。

さまざまなレイアウトを指定できます (試してみる必要があります)。異なるサイズが同じレイアウトを使用する場合があります。デバイスが最終的にどのレイアウトを使用するかは、一連のルールによって異なります。

たとえば、画面サイズを使用する場合は、res フォルダーの下に、layout-small、layout-medium、layout-large、layout-xlarge という名前のフォルダーを作成します。これは、layout がレイアウト リソースの既定のフォルダーであり、その後に - を追加するためです。この場合、小、中、大、または特大です。

編集: 上記の Alex のリンクが探しているものかもしれません。私のリンクはそれを行う方法に関するものですが、アレックスのリンクはそれをうまく行う方法に関するものです。あなたが正確に何を求めているのかわかりませんでした。

于 2012-06-28T21:43:15.287 に答える
0

(1) すべてのレイアウト サイズをサポートする 1 つの方法は、適切なサイズの画像を drawable-hdpi、drawable-mdpi、drawable-ldpi、および drawable-xhdpi に配置することです。特定の画面サイズのデバイスの画像は、Android ランタイム システムによって自動的に選択されます。このアプローチでは、サイズごとに異なるレイアウト ファイルを作成する必要はありません。

(2) 同じことを達成する 2 番目の方法は、デバイスのサイズ (密度) を動的に検出し、それに応じてレイアウトを設定することです。これは次のように実行できます。

    DisplayMetrics displayMetrics = new DisplayMetrics();
    getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);
    switch(displayMetrics.densityDpi){ 
        case DisplayMetrics.DENSITY_LOW: 
            // your layout for small-size devices.
            break; 
        case DisplayMetrics.DENSITY_MEDIUM: 
            // your layout for medium-size devices.
            break; 
        case DisplayMetrics.DENSITY_HIGH: 
            // your layout for big-size devices.
            break; 
    }  

このアプローチでは、サイズごとに異なるレイアウト ファイルを個別に作成する必要がある場合があります。

于 2012-06-29T07:25:42.447 に答える