0

私がやりたいことは、Sensation モデルと Desire モデルのレイアウトを変えることです。

複数の画面用にプログラミングし、さまざまな画面サイズと密度にリソースを提供することについて読んだことがありますが、この感覚の解像度は私を夢中にさせます . HTC Desire で完璧に動作するレイアウトがあります。それらはレイアウトに配置され、図面は hdpi に配置されます。すべてが完璧に機能しています。Sensation でアプリを実行しようとすると、問題が発生します。

私の質問は、Sensation レイアウトをどこに配置するかです。Sensation にはどの修飾子名を使用すればよいですか?

4

1 に答える 1

1

次のコードを使用して、デバイス (Sensation) の解像度と密度を見つけてみてください。

    Display display = getWindowManager().getDefaultDisplay();
    DisplayMetrics dm = new DisplayMetrics();
    display.getMetrics(dm);

    int width = display.getWidth();
    int height = display.getHeight();
    int density = dm.densityDpi;
    String densityString = null;

    if(density == DisplayMetrics.DENSITY_HIGH) {
        densityString = "HDPI";
    } else if(density == DisplayMetrics.DENSITY_MEDIUM) {
        densityString = "MDPI";
    } else if(density == DisplayMetrics.DENSITY_LOW) {
        densityString = "LDPI";
    }

次に、複数画面のサポートのように、ドローアブル フォルダーとレイアウト フォルダーに適切なリソース名修飾子を使用します。(例) drawable-large-hdpilayout-large-hdpi

そこにあるすべてのデバイスにアクセスできるわけではないため、これは常に実行できるわけではありません。したがって、上記のリンクから複数の画面でアプリケーションをテストする方法に示されている表に基づいて、さまざまなディスプレイ構成で AVD を作成することをお勧めします。

于 2011-09-15T06:02:52.233 に答える