0

アプリケーションに 2 つの Samsung タブレット用に異なるリソースを配置する必要があります。600x1024 (Samsung Galaxy Tab 7 インチ) 800x1280 (Samsung Galaxy Tab 8.9 インチ) したがって、2 つの異なるフォルダーdrawable-port (7インチの場合) と drawable -large-port (8.9 インチの場合) を res フォルダーに作成しましたが、両方のデバイスがdrawable-large-portフォルダーからのリソース。

両方のデバイスに対して getResources().getConfiguration().screenLayout を実行すると、出力は SCREENLAYOUT_SIZE_LARGE になります。

したがって、両方のデバイスが異なるフォルダーからリソースを選択できるように、フォルダー名はどうする必要がありますか。

ありがとうナリンダー

4

3 に答える 3

0

2 つのデバイスはどちらも大画面であるため、この場合、ドローアブル フォルダーを見ると、両方とも同じリソースを取得していますそれらは常に、縦向きの場合はdrawable -large-portに、横向きの場合はdrawable-large-landに移動します。

2 つのデバイスに異なるレイアウトを作成することで、この機能を追加できます。このレイアウトでは、drawable-large-port のドローアブルをさまざまな方法で使用して、さまざまなサイズの画面を利用できます。レイアウトには、以下のようにさまざまなサイズを定義できます。

res/layout-sw600dp/   // For 7” tablets (600dp wide and bigger)
res/layout-sw720dp/   // For 10” tablets (720dp wide and bigger)

さまざまなサイズの画面/デバイスの取り扱いについて詳しくは、 http://developer.android.com/guide/practices/screens_support.htmlをご覧ください。

于 2012-07-20T14:06:05.930 に答える
0

以下を使用して画面の幅を測定できます。

    Display display = getWindowManager().getDefaultDisplay(); 
    int width = display.getWidth();
    int height = display.getHeight();
    System.out.println("width :: "+width);
    System.out.println("height :: "+height);

次に、幅を次のように使用して、Drawable を設定できます。

if(width == 600)
    // set drawable-1
else if(width == 800)
    // set drawable-2
于 2012-07-20T14:10:38.620 に答える